Declare getgrent/setgrent/endgrent as missing.

Bug: 19340053
Change-Id: I42bfeda95e6f262e2e74ab47336ea346c2de7e4a
This commit is contained in:
Yabin Cui 2015-02-13 10:52:35 -08:00
parent ee17e88004
commit c9d09431b9
2 changed files with 7 additions and 5 deletions

View file

@ -54,9 +54,9 @@ __BEGIN_DECLS
struct group *getgrgid(gid_t);
struct group *getgrnam(const char *);
#if __POSIX_VISIBLE >= 200112 || __XPG_VISIBLE
struct group *getgrent(void);
void setgrent(void);
void endgrent(void);
struct group *getgrent(void) __errorattr("This function is meaningless on Android.");
__errordecl(setgrent, "This function is meaningless on Android.");
__errordecl(endgrent, "This function is meaningless on Android.");
int getgrgid_r(gid_t, struct group *, char *,
size_t, struct group **);
int getgrnam_r(const char *, struct group *, char *,

View file

@ -335,13 +335,15 @@
#endif
#if __GNUC_PREREQ(4, 3)
#define __errordecl(name, msg) extern void name(void) __attribute__((__error__(msg)))
#define __errorattr(msg) __attribute__((__error__(msg)))
#define __warnattr(msg) __attribute__((__warning__(msg)))
#else
#define __errordecl(name, msg) extern void name(void)
#define __errorattr(msg)
#define __warnattr(msg)
#endif
#define __errordecl(name, msg) extern void name(void) __errorattr(msg)
/*
* Some BSD source needs these macros.
* Originally they embedded the rcs versions of each source file