diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2012-07-29 16:33:00 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2012-07-29 16:33:00 +0300 |
commit | 82816b279615b27f7c4f87349a8c830a96939d8c (patch) | |
tree | cf30bf71692e090ca6ca4934e65184aa990a3055 /posix | |
parent | 207fc1458c7f168822e454a89f23428c64163427 (diff) | |
download | egawk-82816b279615b27f7c4f87349a8c830a96939d8c.tar.gz egawk-82816b279615b27f7c4f87349a8c830a96939d8c.tar.bz2 egawk-82816b279615b27f7c4f87349a8c830a96939d8c.zip |
Finish work on iop management. New readdir test.
Diffstat (limited to 'posix')
-rw-r--r-- | posix/ChangeLog | 5 | ||||
-rw-r--r-- | posix/gawkmisc.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/posix/ChangeLog b/posix/ChangeLog index a3ee87db..d49ff49e 100644 --- a/posix/ChangeLog +++ b/posix/ChangeLog @@ -1,3 +1,8 @@ +2012-07-29 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.c (os_isreadable): Add isdir pointer parameter to be + set to true if fd is for a directory. + 2012-07-26 Arnold D. Robbins <arnold@skeeve.com> * gawkmisc.c (os_isreadable): New function. diff --git a/posix/gawkmisc.c b/posix/gawkmisc.c index 87a6747c..a5c3a619 100644 --- a/posix/gawkmisc.c +++ b/posix/gawkmisc.c @@ -207,10 +207,12 @@ os_isdir(int fd) /* os_isreadable --- fd can be read from */ int -os_isreadable(int fd) +os_isreadable(int fd, bool *isdir) { struct stat sbuf; + *isdir = false; + if (fstat(fd, &sbuf) != 0) return false; @@ -224,6 +226,9 @@ os_isreadable(int fd) case S_IFIFO: #endif return true; + case S_IFDIR: + *isdir = true; + /* fall through */ default: return false; } |