aboutsummaryrefslogtreecommitdiff
path: root/pwd/pwd.h
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-05-30 13:33:22 -0400
committerMike Frysinger <vapier@gentoo.org>2015-07-08 03:18:27 -0400
commit61d95397de01ead73b828c6106a4a832d9681652 (patch)
treecfdb7089b7bd3ca2b97a22635f43f50b600487b7 /pwd/pwd.h
parent8b59c73386ddb64331ee03c29925a18dae547733 (diff)
downloadglibc-61d95397de01ead73b828c6106a4a832d9681652.zip
glibc-61d95397de01ead73b828c6106a4a832d9681652.tar.gz
glibc-61d95397de01ead73b828c6106a4a832d9681652.tar.bz2
pwd.h: add __nonnull markings [BZ #18641]
Mark all the functions that don't handle NULL pointers as __nonnull. POSIX does not require either behavior, so the prototypes should match the reality of the codebase.
Diffstat (limited to 'pwd/pwd.h')
-rw-r--r--pwd/pwd.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/pwd/pwd.h b/pwd/pwd.h
index ff49564..fcfb2ab 100644
--- a/pwd/pwd.h
+++ b/pwd/pwd.h
@@ -91,7 +91,7 @@ extern struct passwd *getpwent (void);
cancellation point. But due to similarity with an POSIX interface
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
-extern struct passwd *fgetpwent (FILE *__stream);
+extern struct passwd *fgetpwent (FILE *__stream) __nonnull ((1));
/* Write the given entry onto the given stream.
@@ -100,7 +100,7 @@ extern struct passwd *fgetpwent (FILE *__stream);
or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern int putpwent (const struct passwd *__restrict __p,
- FILE *__restrict __f);
+ FILE *__restrict __f) __nonnull ((1, 2));
#endif
/* Search for an entry with a matching user ID.
@@ -113,7 +113,7 @@ extern struct passwd *getpwuid (__uid_t __uid);
This function is a possible cancellation point and therefore not
marked with __THROW. */
-extern struct passwd *getpwnam (const char *__name);
+extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
#ifdef __USE_POSIX
@@ -138,18 +138,21 @@ extern struct passwd *getpwnam (const char *__name);
therefore not marked with __THROW. */
extern int getpwent_r (struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result);
+ struct passwd **__restrict __result)
+ __nonnull ((1, 2, 4));
# endif
extern int getpwuid_r (__uid_t __uid,
struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result);
+ struct passwd **__restrict __result)
+ __nonnull ((2, 3, 5));
extern int getpwnam_r (const char *__restrict __name,
struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result);
+ struct passwd **__restrict __result)
+ __nonnull ((1, 2, 3, 5));
# ifdef __USE_MISC
@@ -163,7 +166,8 @@ extern int getpwnam_r (const char *__restrict __name,
extern int fgetpwent_r (FILE *__restrict __stream,
struct passwd *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result);
+ struct passwd **__restrict __result)
+ __nonnull ((1, 2, 3, 5));
# endif
#endif /* POSIX or reentrant */