diff options
Diffstat (limited to 'io')
-rw-r--r-- | io/fcntl.h | 35 | ||||
-rw-r--r-- | io/ftw.c | 13 | ||||
-rw-r--r-- | io/ftw.h | 25 |
3 files changed, 37 insertions, 36 deletions
diff --git a/io/fcntl.h b/io/fcntl.h index 951fd80161..8131c24d88 100644 --- a/io/fcntl.h +++ b/io/fcntl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. +/* Copyright (C) 1991,1992,1994-2001,2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -56,41 +56,48 @@ __BEGIN_DECLS #endif /* XPG */ /* Do the file control operation described by CMD on FD. - The remaining arguments are interpreted depending on CMD. */ -extern int fcntl (int __fd, int __cmd, ...) __THROW; + The remaining arguments are interpreted depending on CMD. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int fcntl (int __fd, int __cmd, ...); /* Open FILE and return a new file descriptor for it, or -1 on error. OFLAG determines the type of access used. If O_CREAT is on OFLAG, - the third argument is taken as a `mode_t', the mode of the created file. */ + the third argument is taken as a `mode_t', the mode of the created file. + + This function is a cancellation point and therefore not marked with + __THROW. */ #ifndef __USE_FILE_OFFSET64 -extern int open (__const char *__file, int __oflag, ...) __THROW; +extern int open (__const char *__file, int __oflag, ...); #else # ifdef __REDIRECT -extern int __REDIRECT (open, (__const char *__file, int __oflag, ...) __THROW, - open64); +extern int __REDIRECT (open, (__const char *__file, int __oflag, ...), open64); # else # define open open64 # endif #endif #ifdef __USE_LARGEFILE64 -extern int open64 (__const char *__file, int __oflag, ...) __THROW; +extern int open64 (__const char *__file, int __oflag, ...); #endif -/* Create and open FILE, with mode MODE. - This takes an `int' MODE argument because that is - what `mode_t' will be widened to. */ +/* Create and open FILE, with mode MODE. This takes an `int' MODE + argument because that is what `mode_t' will be widened to. + + This function is a cancellation point and therefore not marked with + __THROW. */ #ifndef __USE_FILE_OFFSET64 -extern int creat (__const char *__file, __mode_t __mode) __THROW; +extern int creat (__const char *__file, __mode_t __mode); #else # ifdef __REDIRECT -extern int __REDIRECT (creat, (__const char *__file, __mode_t __mode) __THROW, +extern int __REDIRECT (creat, (__const char *__file, __mode_t __mode), creat64); # else # define creat creat64 # endif #endif #ifdef __USE_LARGEFILE64 -extern int creat64 (__const char *__file, __mode_t __mode) __THROW; +extern int creat64 (__const char *__file, __mode_t __mode); #endif #if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \ diff --git a/io/ftw.c b/io/ftw.c index 3d2d940cd8..64cab00252 100644 --- a/io/ftw.c +++ b/io/ftw.c @@ -482,17 +482,6 @@ ftw_dir (struct ftw_data *data, struct STAT *st) { if (__fchdir (dirfd (dir.stream)) < 0) { - if (errno == ENOSYS) - { - if (__chdir (data->dirbuf) < 0) - result = -1; - } - else - result = -1; - } - - if (result != 0) - { int save_err = errno; __closedir (dir.stream); __set_errno (save_err); @@ -501,7 +490,7 @@ ftw_dir (struct ftw_data *data, struct STAT *st) data->actdir = data->maxdir - 1; data->dirstreams[data->actdir] = NULL; - return result; + return -1; } } diff --git a/io/ftw.h b/io/ftw.h index 5ed908e915..4939297b34 100644 --- a/io/ftw.h +++ b/io/ftw.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1992,1996,1997,1998,1999,2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -103,40 +103,45 @@ typedef int (*__nftw64_func_t) (__const char *__filename, # endif #endif -/* Call a function on every element in a directory tree. */ +/* Call a function on every element in a directory tree. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ #ifndef __USE_FILE_OFFSET64 -extern int ftw (__const char *__dir, __ftw_func_t __func, int __descriptors) - __THROW; +extern int ftw (__const char *__dir, __ftw_func_t __func, int __descriptors); #else # ifdef __REDIRECT extern int __REDIRECT (ftw, (__const char *__dir, __ftw_func_t __func, - int __descriptors) __THROW, ftw64); + int __descriptors), ftw64); # else # define ftw ftw64 # endif #endif #ifdef __USE_LARGEFILE64 extern int ftw64 (__const char *__dir, __ftw64_func_t __func, - int __descriptors) __THROW; + int __descriptors); #endif #ifdef __USE_XOPEN_EXTENDED /* Call a function on every element in a directory tree. FLAG allows - to specify the behaviour more detailed. */ + to specify the behaviour more detailed. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ # ifndef __USE_FILE_OFFSET64 extern int nftw (__const char *__dir, __nftw_func_t __func, int __descriptors, - int __flag) __THROW; + int __flag); # else # ifdef __REDIRECT extern int __REDIRECT (nftw, (__const char *__dir, __nftw_func_t __func, - int __descriptors, int __flag) __THROW, nftw64); + int __descriptors, int __flag), nftw64); # else # define nftw nftw64 # endif # endif # ifdef __USE_LARGEFILE64 extern int nftw64 (__const char *__dir, __nftw64_func_t __func, - int __descriptors, int __flag) __THROW; + int __descriptors, int __flag); # endif #endif |