1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-06-02 02:01:46 +03:00
2004-11-22  Ulrich Drepper  <drepper@redhat.com>

	* dirent/dirent.h: Add __nonnull attributes.
	* dlfcn/dlfcn.h: Likewise.
This commit is contained in:
Ulrich Drepper 2004-11-22 09:54:11 +00:00
parent 52495f29a2
commit b45ff18271
3 changed files with 47 additions and 31 deletions

View File

@ -1,3 +1,8 @@
2004-11-22 Ulrich Drepper <drepper@redhat.com>
* dirent/dirent.h: Add __nonnull attributes.
* dlfcn/dlfcn.h: Likewise.
2004-11-20 Jakub Jelinek <jakub@redhat.com> 2004-11-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/k_standard.c: Document code 50. * sysdeps/ieee754/k_standard.c: Document code 50.

View File

@ -132,14 +132,14 @@ typedef struct __dirstream DIR;
This function is a possible cancellation point and therefore not This function is a possible cancellation point and therefore not
marked with __THROW. */ marked with __THROW. */
extern DIR *opendir (__const char *__name); extern DIR *opendir (__const char *__name) __nonnull ((1));
/* Close the directory stream DIRP. /* Close the directory stream DIRP.
Return 0 if successful, -1 if not. Return 0 if successful, -1 if not.
This function is a possible cancellation point and therefore not This function is a possible cancellation point and therefore not
marked with __THROW. */ marked with __THROW. */
extern int closedir (DIR *__dirp); extern int closedir (DIR *__dirp) __nonnull ((1));
/* Read a directory entry from DIRP. Return a pointer to a `struct /* Read a directory entry from DIRP. Return a pointer to a `struct
dirent' describing the entry, or NULL for EOF or error. The dirent' describing the entry, or NULL for EOF or error. The
@ -152,17 +152,18 @@ extern int closedir (DIR *__dirp);
This function is a possible cancellation point and therefore not This function is a possible cancellation point and therefore not
marked with __THROW. */ marked with __THROW. */
#ifndef __USE_FILE_OFFSET64 #ifndef __USE_FILE_OFFSET64
extern struct dirent *readdir (DIR *__dirp); extern struct dirent *readdir (DIR *__dirp) __nonnull ((1));
#else #else
# ifdef __REDIRECT # ifdef __REDIRECT
extern struct dirent *__REDIRECT (readdir, (DIR *__dirp), readdir64); extern struct dirent *__REDIRECT (readdir, (DIR *__dirp), readdir64)
__nonnull ((1));
# else # else
# define readdir readdir64 # define readdir readdir64
# endif # endif
#endif #endif
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
extern struct dirent64 *readdir64 (DIR *__dirp); extern struct dirent64 *readdir64 (DIR *__dirp) __nonnull ((1));
#endif #endif
#if defined __USE_POSIX || defined __USE_MISC #if defined __USE_POSIX || defined __USE_MISC
@ -174,14 +175,15 @@ extern struct dirent64 *readdir64 (DIR *__dirp);
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
extern int readdir_r (DIR *__restrict __dirp, extern int readdir_r (DIR *__restrict __dirp,
struct dirent *__restrict __entry, struct dirent *__restrict __entry,
struct dirent **__restrict __result); struct dirent **__restrict __result)
__nonnull ((1, 2, 3));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
extern int __REDIRECT (readdir_r, extern int __REDIRECT (readdir_r,
(DIR *__restrict __dirp, (DIR *__restrict __dirp,
struct dirent *__restrict __entry, struct dirent *__restrict __entry,
struct dirent **__restrict __result), struct dirent **__restrict __result),
readdir64_r); readdir64_r) __nonnull ((1, 2, 3));
# else # else
# define readdir_r readdir64_r # define readdir_r readdir64_r
# endif # endif
@ -190,27 +192,28 @@ extern int __REDIRECT (readdir_r,
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
extern int readdir64_r (DIR *__restrict __dirp, extern int readdir64_r (DIR *__restrict __dirp,
struct dirent64 *__restrict __entry, struct dirent64 *__restrict __entry,
struct dirent64 **__restrict __result); struct dirent64 **__restrict __result)
__nonnull ((1, 2, 3));
# endif # endif
#endif /* POSIX or misc */ #endif /* POSIX or misc */
/* Rewind DIRP to the beginning of the directory. */ /* Rewind DIRP to the beginning of the directory. */
extern void rewinddir (DIR *__dirp) __THROW; extern void rewinddir (DIR *__dirp) __THROW __nonnull ((1));
#if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN #if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN
# include <bits/types.h> # include <bits/types.h>
/* Seek to position POS on DIRP. */ /* Seek to position POS on DIRP. */
extern void seekdir (DIR *__dirp, long int __pos) __THROW; extern void seekdir (DIR *__dirp, long int __pos) __THROW __nonnull ((1));
/* Return the current position of DIRP. */ /* Return the current position of DIRP. */
extern long int telldir (DIR *__dirp) __THROW; extern long int telldir (DIR *__dirp) __THROW __nonnull ((1));
#endif #endif
#if defined __USE_BSD || defined __USE_MISC #if defined __USE_BSD || defined __USE_MISC
/* Return the file descriptor used by DIRP. */ /* Return the file descriptor used by DIRP. */
extern int dirfd (DIR *__dirp) __THROW; extern int dirfd (DIR *__dirp) __THROW __nonnull ((1));
# if defined __OPTIMIZE__ && defined _DIR_dirfd # if defined __OPTIMIZE__ && defined _DIR_dirfd
# define dirfd(dirp) _DIR_dirfd (dirp) # define dirfd(dirp) _DIR_dirfd (dirp)
@ -239,7 +242,8 @@ extern int dirfd (DIR *__dirp) __THROW;
extern int scandir (__const char *__restrict __dir, extern int scandir (__const char *__restrict __dir,
struct dirent ***__restrict __namelist, struct dirent ***__restrict __namelist,
int (*__selector) (__const struct dirent *), int (*__selector) (__const struct dirent *),
int (*__cmp) (__const void *, __const void *)); int (*__cmp) (__const void *, __const void *))
__nonnull ((1, 2));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
extern int __REDIRECT (scandir, extern int __REDIRECT (scandir,
@ -247,7 +251,7 @@ extern int __REDIRECT (scandir,
struct dirent ***__restrict __namelist, struct dirent ***__restrict __namelist,
int (*__selector) (__const struct dirent *), int (*__selector) (__const struct dirent *),
int (*__cmp) (__const void *, __const void *)), int (*__cmp) (__const void *, __const void *)),
scandir64); scandir64) __nonnull ((1, 2));
# else # else
# define scandir scandir64 # define scandir scandir64
# endif # endif
@ -259,18 +263,19 @@ extern int __REDIRECT (scandir,
extern int scandir64 (__const char *__restrict __dir, extern int scandir64 (__const char *__restrict __dir,
struct dirent64 ***__restrict __namelist, struct dirent64 ***__restrict __namelist,
int (*__selector) (__const struct dirent64 *), int (*__selector) (__const struct dirent64 *),
int (*__cmp) (__const void *, __const void *)); int (*__cmp) (__const void *, __const void *))
__nonnull ((1, 2));
# endif # endif
/* Function to compare two `struct dirent's alphabetically. */ /* Function to compare two `struct dirent's alphabetically. */
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
extern int alphasort (__const void *__e1, __const void *__e2) extern int alphasort (__const void *__e1, __const void *__e2)
__THROW __attribute_pure__; __THROW __attribute_pure__ __nonnull ((1, 2));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
extern int __REDIRECT_NTH (alphasort, extern int __REDIRECT_NTH (alphasort,
(__const void *__e1, __const void *__e2), (__const void *__e1, __const void *__e2),
alphasort64) __attribute_pure__; alphasort64) __attribute_pure__ __nonnull ((1, 2));
# else # else
# define alphasort alphasort64 # define alphasort alphasort64
# endif # endif
@ -278,19 +283,20 @@ extern int __REDIRECT_NTH (alphasort,
# if defined __USE_GNU && defined __USE_LARGEFILE64 # if defined __USE_GNU && defined __USE_LARGEFILE64
extern int alphasort64 (__const void *__e1, __const void *__e2) extern int alphasort64 (__const void *__e1, __const void *__e2)
__THROW __attribute_pure__; __THROW __attribute_pure__ __nonnull ((1, 2));
# endif # endif
# ifdef __USE_GNU # ifdef __USE_GNU
/* Function to compare two `struct dirent's by name & version. */ /* Function to compare two `struct dirent's by name & version. */
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
extern int versionsort (__const void *__e1, __const void *__e2) extern int versionsort (__const void *__e1, __const void *__e2)
__THROW __attribute_pure__; __THROW __attribute_pure__ __nonnull ((1, 2));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
extern int __REDIRECT_NTH (versionsort, extern int __REDIRECT_NTH (versionsort,
(__const void *__e1, __const void *__e2), (__const void *__e1, __const void *__e2),
versionsort64) __attribute_pure__; versionsort64)
__attribute_pure__ __nonnull ((1, 2));
# else # else
# define versionsort versionsort64 # define versionsort versionsort64
# endif # endif
@ -298,7 +304,7 @@ extern int __REDIRECT_NTH (versionsort,
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
extern int versionsort64 (__const void *__e1, __const void *__e2) extern int versionsort64 (__const void *__e1, __const void *__e2)
__THROW __attribute_pure__; __THROW __attribute_pure__ __nonnull ((1, 2));
# endif # endif
# endif # endif
@ -309,14 +315,15 @@ extern int versionsort64 (__const void *__e1, __const void *__e2)
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
extern __ssize_t getdirentries (int __fd, char *__restrict __buf, extern __ssize_t getdirentries (int __fd, char *__restrict __buf,
size_t __nbytes, size_t __nbytes,
__off_t *__restrict __basep) __THROW; __off_t *__restrict __basep)
__THROW __nonnull ((2, 4));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
extern __ssize_t __REDIRECT_NTH (getdirentries, extern __ssize_t __REDIRECT_NTH (getdirentries,
(int __fd, char *__restrict __buf, (int __fd, char *__restrict __buf,
size_t __nbytes, size_t __nbytes,
__off64_t *__restrict __basep), __off64_t *__restrict __basep),
getdirentries64); getdirentries64) __nonnull ((2, 4));
# else # else
# define getdirentries getdirentries64 # define getdirentries getdirentries64
# endif # endif
@ -325,7 +332,8 @@ extern __ssize_t __REDIRECT_NTH (getdirentries,
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf, extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf,
size_t __nbytes, size_t __nbytes,
__off64_t *__restrict __basep) __THROW; __off64_t *__restrict __basep)
__THROW __nonnull ((2, 4));
# endif # endif
#endif /* Use BSD or misc. */ #endif /* Use BSD or misc. */

View File

@ -54,16 +54,16 @@ __BEGIN_DECLS
/* Open the shared object FILE and map it in; return a handle that can be /* Open the shared object FILE and map it in; return a handle that can be
passed to `dlsym' to get symbol values from it. */ passed to `dlsym' to get symbol values from it. */
extern void *dlopen (__const char *__file, int __mode) __THROW; extern void *dlopen (__const char *__file, int __mode) __THROW __nonnull ((1));
/* Unmap and close a shared object opened by `dlopen'. /* Unmap and close a shared object opened by `dlopen'.
The handle cannot be used again after calling `dlclose'. */ The handle cannot be used again after calling `dlclose'. */
extern int dlclose (void *__handle) __THROW; extern int dlclose (void *__handle) __THROW __nonnull ((1));
/* Find the run-time address in the shared object HANDLE refers to /* Find the run-time address in the shared object HANDLE refers to
of the symbol called NAME. */ of the symbol called NAME. */
extern void *dlsym (void *__restrict __handle, extern void *dlsym (void *__restrict __handle,
__const char *__restrict __name) __THROW; __const char *__restrict __name) __THROW __nonnull ((2));
#ifdef __USE_GNU #ifdef __USE_GNU
/* Like `dlopen', but request object to be allocated in a new namespace. */ /* Like `dlopen', but request object to be allocated in a new namespace. */
@ -73,7 +73,8 @@ extern void *dlmopen (Lmid_t __nsid, __const char *__file, int __mode) __THROW;
of the symbol called NAME with VERSION. */ of the symbol called NAME with VERSION. */
extern void *dlvsym (void *__restrict __handle, extern void *dlvsym (void *__restrict __handle,
__const char *__restrict __name, __const char *__restrict __name,
__const char *__restrict __version) __THROW; __const char *__restrict __version)
__THROW __nonnull ((2, 3));
#endif #endif
/* When any of the above functions fails, call this function /* When any of the above functions fails, call this function
@ -95,11 +96,12 @@ typedef struct
/* Fill in *INFO with the following information about ADDRESS. /* Fill in *INFO with the following information about ADDRESS.
Returns 0 iff no shared object's segments contain that address. */ Returns 0 iff no shared object's segments contain that address. */
extern int dladdr (__const void *__address, Dl_info *__info) __THROW; extern int dladdr (__const void *__address, Dl_info *__info)
__THROW __nonnull ((2));
/* Same as `dladdr', but additionally sets *EXTRA_INFO according to FLAGS. */ /* Same as `dladdr', but additionally sets *EXTRA_INFO according to FLAGS. */
extern int dladdr1 (__const void *__address, Dl_info *__info, extern int dladdr1 (__const void *__address, Dl_info *__info,
void **__extra_info, int __flags) __THROW; void **__extra_info, int __flags) __THROW __nonnull ((2));
/* These are the possible values for the FLAGS argument to `dladdr1'. /* These are the possible values for the FLAGS argument to `dladdr1'.
This indicates what extra information is stored at *EXTRA_INFO. This indicates what extra information is stored at *EXTRA_INFO.
@ -120,7 +122,8 @@ enum
On success, returns zero. On failure, returns -1 and records an error On success, returns zero. On failure, returns -1 and records an error
message to be fetched with `dlerror'. */ message to be fetched with `dlerror'. */
extern int dlinfo (void *__restrict __handle, extern int dlinfo (void *__restrict __handle,
int __request, void *__restrict __arg); int __request, void *__restrict __arg)
__THROW __nonnull ((1, 3));
/* These are the possible values for the REQUEST argument to `dlinfo'. */ /* These are the possible values for the REQUEST argument to `dlinfo'. */
enum enum