*
*/
-#define setgroups __setgroups
-#define strtoul __strtoul
-#define rewind __rewind
-#define fgets_unlocked __fgets_unlocked
-
#define _GNU_SOURCE
#include <features.h>
#include <stdio.h>
#include <pthread.h>
#endif
-extern int __getspnam_r (__const char *__name, struct spwd *__result_buf,
- char *__buffer, size_t __buflen,
- struct spwd **__result) attribute_hidden;
-
-extern int __getpwuid_r (__uid_t __uid,
- struct passwd *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) attribute_hidden;
-
-extern int __fputc_unlocked_internal(int c, FILE *stream) attribute_hidden;
+libc_hidden_proto(strchr)
+libc_hidden_proto(strcmp)
+libc_hidden_proto(strcpy)
+libc_hidden_proto(strlen)
+libc_hidden_proto(setgroups)
+libc_hidden_proto(strtoul)
+libc_hidden_proto(rewind)
+libc_hidden_proto(fgets_unlocked)
+libc_hidden_proto(__fputc_unlocked)
+libc_hidden_proto(sprintf)
+libc_hidden_proto(fopen)
+libc_hidden_proto(fclose)
+libc_hidden_proto(fprintf)
/**********************************************************************/
/* Sizes for staticly allocated buffers. */
/**********************************************************************/
#ifdef L_fgetpwent_r
-int attribute_hidden __fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
+int fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct passwd **__restrict result)
{
return rv;
}
-strong_alias(__fgetpwent_r,fgetpwent_r)
+libc_hidden_proto(fgetpwent_r)
+libc_hidden_def(fgetpwent_r)
#endif
/**********************************************************************/
#ifdef L_fgetgrent_r
-int attribute_hidden __fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
+int fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct group **__restrict result)
{
return rv;
}
-strong_alias(__fgetgrent_r,fgetgrent_r)
+libc_hidden_proto(fgetgrent_r)
+libc_hidden_def(fgetgrent_r)
#endif
/**********************************************************************/
#ifdef L_fgetspent_r
-int attribute_hidden __fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
+int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct spwd **__restrict result)
{
return rv;
}
-strong_alias(__fgetspent_r,fgetspent_r)
+libc_hidden_proto(fgetspent_r)
+libc_hidden_def(fgetspent_r)
#endif
/**********************************************************************/
/**********************************************************************/
#ifdef L_fgetpwent
-extern int __fgetpwent_r (FILE *__restrict __stream,
- struct passwd *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) attribute_hidden;
+libc_hidden_proto(fgetpwent_r)
struct passwd *fgetpwent(FILE *stream)
{
static struct passwd resultbuf;
struct passwd *result;
- __fgetpwent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
+ fgetpwent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_fgetgrent
-extern int __fgetgrent_r (FILE *__restrict __stream,
- struct group *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result) attribute_hidden;
+libc_hidden_proto(fgetgrent_r)
struct group *fgetgrent(FILE *stream)
{
static struct group resultbuf;
struct group *result;
- __fgetgrent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
+ fgetgrent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_fgetspent
-extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf,
- char *__buffer, size_t __buflen,
- struct spwd **__result) attribute_hidden;
+libc_hidden_proto(fgetspent_r)
struct spwd *fgetspent(FILE *stream)
{
static struct spwd resultbuf;
struct spwd *result;
- __fgetspent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
+ fgetspent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_sgetspent_r
-int attribute_hidden __sgetspent_r(const char *string, struct spwd *result_buf,
+int sgetspent_r(const char *string, struct spwd *result_buf,
char *buffer, size_t buflen, struct spwd **result)
{
int rv = ERANGE;
}
if (string != buffer) {
- if (__strlen(string) >= buflen) {
+ if (strlen(string) >= buflen) {
goto DO_ERANGE;
}
- __strcpy(buffer, string);
+ strcpy(buffer, string);
}
if (!(rv = __parsespent(result_buf, buffer))) {
DONE:
return rv;
}
-strong_alias(__sgetspent_r,sgetspent_r)
+libc_hidden_proto(sgetspent_r)
+libc_hidden_def(sgetspent_r)
#endif
/**********************************************************************/
#endif
#ifdef L_getpwnam_r
-#define GETXXKEY_R_FUNC_HIDDEN __getpwnam_r
#define GETXXKEY_R_FUNC getpwnam_r
#define GETXXKEY_R_PARSER __parsepwent
#define GETXXKEY_R_ENTTYPE struct passwd
-#define GETXXKEY_R_TEST(ENT) (!__strcmp((ENT)->pw_name, key))
+#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->pw_name, key))
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
#include "pwd_grp_internal.c"
#endif
#ifdef L_getgrnam_r
-#define GETXXKEY_R_FUNC_HIDDEN __getgrnam_r
#define GETXXKEY_R_FUNC getgrnam_r
#define GETXXKEY_R_PARSER __parsegrent
#define GETXXKEY_R_ENTTYPE struct group
-#define GETXXKEY_R_TEST(ENT) (!__strcmp((ENT)->gr_name, key))
+#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->gr_name, key))
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
#include "pwd_grp_internal.c"
#endif
#ifdef L_getspnam_r
-#define GETXXKEY_R_FUNC_HIDDEN __getspnam_r
#define GETXXKEY_R_FUNC getspnam_r
#define GETXXKEY_R_PARSER __parsespent
#define GETXXKEY_R_ENTTYPE struct spwd
-#define GETXXKEY_R_TEST(ENT) (!__strcmp((ENT)->sp_namp, key))
+#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->sp_namp, key))
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
#define DO_GETXXKEY_R_PATHNAME _PATH_SHADOW
#include "pwd_grp_internal.c"
#endif
#ifdef L_getpwuid_r
-#define GETXXKEY_R_FUNC_HIDDEN __getpwuid_r
#define GETXXKEY_R_FUNC getpwuid_r
#define GETXXKEY_R_PARSER __parsepwent
#define GETXXKEY_R_ENTTYPE struct passwd
#endif
#ifdef L_getgrgid_r
-#define GETXXKEY_R_FUNC_HIDDEN __getgrgid_r
#define GETXXKEY_R_FUNC getgrgid_r
#define GETXXKEY_R_PARSER __parsegrent
#define GETXXKEY_R_ENTTYPE struct group
/**********************************************************************/
#ifdef L_getpwuid
+libc_hidden_proto(getpwuid_r)
+
struct passwd *getpwuid(uid_t uid)
{
static char buffer[PWD_BUFFER_SIZE];
static struct passwd resultbuf;
struct passwd *result;
- __getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result);
+ getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_getgrgid
-extern int __getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result) attribute_hidden;
+libc_hidden_proto(getgrgid_r)
struct group *getgrgid(gid_t gid)
{
static struct group resultbuf;
struct group *result;
- __getgrgid_r(gid, &resultbuf, buffer, sizeof(buffer), &result);
+ getgrgid_r(gid, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
* to have been created as a reentrant version of the non-standard
* functions getspuid. Why getspuid was added, I do not know. */
+libc_hidden_proto(getpwuid_r)
+libc_hidden_proto(getspnam_r)
+
int getspuid_r(uid_t uid, struct spwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct spwd **__restrict result)
char pwd_buff[PWD_BUFFER_SIZE];
*result = NULL;
- if (!(rv = __getpwuid_r(uid, &password, pwd_buff, sizeof(pwd_buff), &pp))) {
- rv = __getspnam_r(password.pw_name, resultbuf, buffer, buflen, result);
+ if (!(rv = getpwuid_r(uid, &password, pwd_buff, sizeof(pwd_buff), &pp))) {
+ rv = getspnam_r(password.pw_name, resultbuf, buffer, buflen, result);
}
return rv;
/* This function is non-standard and is currently not built.
* Why it was added, I do not know. */
+libc_hidden_proto(getspuid_r)
+
struct spwd *getspuid(uid_t uid)
{
static char buffer[PWD_BUFFER_SIZE];
/**********************************************************************/
#ifdef L_getpwnam
-extern int __getpwnam_r (__const char *__restrict __name,
- struct passwd *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) attribute_hidden;
+libc_hidden_proto(getpwnam_r)
struct passwd *getpwnam(const char *name)
{
static struct passwd resultbuf;
struct passwd *result;
- __getpwnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
+ getpwnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_getgrnam
-extern int __getgrnam_r (__const char *__restrict __name,
- struct group *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result) attribute_hidden;
+libc_hidden_proto(getgrnam_r)
struct group *getgrnam(const char *name)
{
static struct group resultbuf;
struct group *result;
- __getgrnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
+ getgrnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_getspnam
+libc_hidden_proto(getspnam_r)
+
struct spwd *getspnam(const char *name)
{
static char buffer[PWD_BUFFER_SIZE];
static struct spwd resultbuf;
struct spwd *result;
- __getspnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
+ getspnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
/**********************************************************************/
#ifdef L_getpw
+libc_hidden_proto(getpwuid_r)
+
int getpw(uid_t uid, char *buf)
{
struct passwd resultbuf;
if (!buf) {
__set_errno(EINVAL);
- } else if (!__getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result)) {
- if (__sprintf(buf, "%s:%s:%lu:%lu:%s:%s:%s\n",
+ } else if (!getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result)) {
+ if (sprintf(buf, "%s:%s:%lu:%lu:%s:%s:%s\n",
resultbuf.pw_name, resultbuf.pw_passwd,
(unsigned long)(resultbuf.pw_uid),
(unsigned long)(resultbuf.pw_gid),
}
-int attribute_hidden __getpwent_r(struct passwd *__restrict resultbuf,
+int getpwent_r(struct passwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct passwd **__restrict result)
{
return rv;
}
-strong_alias(__getpwent_r,getpwent_r)
+libc_hidden_proto(getpwent_r)
#endif
/**********************************************************************/
UNLOCK;
}
-int attribute_hidden __getgrent_r(struct group *__restrict resultbuf,
+int getgrent_r(struct group *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct group **__restrict result)
{
return rv;
}
-strong_alias(__getgrent_r,getgrent_r)
+libc_hidden_proto(getgrent_r)
+libc_hidden_def(getgrent_r)
#endif
/**********************************************************************/
UNLOCK;
}
-int attribute_hidden __getspent_r(struct spwd *resultbuf, char *buffer,
+int getspent_r(struct spwd *resultbuf, char *buffer,
size_t buflen, struct spwd **result)
{
int rv;
return rv;
}
-strong_alias(__getspent_r,getspent_r)
+libc_hidden_proto(getspent_r)
+libc_hidden_def(getspent_r)
#endif
/**********************************************************************/
#ifdef L_getpwent
-
-extern int __getpwent_r (struct passwd *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct passwd **__restrict __result) attribute_hidden;
+
+libc_hidden_proto(getpwent_r)
struct passwd *getpwent(void)
{
static struct passwd pwd;
struct passwd *result;
- __getpwent_r(&pwd, line_buff, sizeof(line_buff), &result);
+ getpwent_r(&pwd, line_buff, sizeof(line_buff), &result);
return result;
}
/**********************************************************************/
#ifdef L_getgrent
-extern int __getgrent_r (struct group *__restrict __resultbuf,
- char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result) attribute_hidden;
+libc_hidden_proto(getgrent_r)
struct group *getgrent(void)
{
static struct group gr;
struct group *result;
- __getgrent_r(&gr, line_buff, sizeof(line_buff), &result);
+ getgrent_r(&gr, line_buff, sizeof(line_buff), &result);
return result;
}
/**********************************************************************/
#ifdef L_getspent
-extern int __getspent_r (struct spwd *__result_buf, char *__buffer,
- size_t __buflen, struct spwd **__result) attribute_hidden;
+libc_hidden_proto(getspent_r)
struct spwd *getspent(void)
{
static struct spwd spwd;
struct spwd *result;
- __getspent_r(&spwd, line_buff, sizeof(line_buff), &result);
+ getspent_r(&spwd, line_buff, sizeof(line_buff), &result);
return result;
}
/**********************************************************************/
#ifdef L_sgetspent
-extern int __sgetspent_r (__const char *__string, struct spwd *__result_buf,
- char *__buffer, size_t __buflen,
- struct spwd **__result) attribute_hidden;
+libc_hidden_proto(sgetspent_r)
struct spwd *sgetspent(const char *string)
{
static struct spwd spwd;
struct spwd *result;
- __sgetspent_r(string, &spwd, line_buff, sizeof(line_buff), &result);
+ sgetspent_r(string, &spwd, line_buff, sizeof(line_buff), &result);
return result;
}
assert(group.gr_mem); /* Must have at least a NULL terminator. */
if (group.gr_gid != gid) {
for (m=group.gr_mem ; *m ; m++) {
- if (!__strcmp(*m, user)) {
+ if (!strcmp(*m, user)) {
if (!(num_groups & 7)) {
gid_t *tmp = (gid_t *)
realloc(group_list,
do {
if (!*m) {
- if (__fputc_unlocked_internal('\n', f) >= 0) {
+ if (__fputc_unlocked('\n', f) >= 0) {
rv = 0;
}
break;
goto DO_UNLOCK;
}
- if (__fputc_unlocked_internal('\n', stream) > 0) {
+ if (__fputc_unlocked('\n', stream) > 0) {
rv = 0;
}
/* NOTE: glibc difference - glibc allows omission of
* ':' seperators after the gid field if all remaining
* entries are empty. We require all separators. */
- if (!(line = __strchr(line, ':'))) {
+ if (!(line = strchr(line, ':'))) {
break;
}
} else {
if (i < 2) {
*((char **) p) = line;
- if (!(line = __strchr(line, ':'))) {
+ if (!(line = strchr(line, ':'))) {
break;
}
*line++ = 0;
p = ((char *) ((struct spwd *) data)) + sp_off[i];
if (i < 2) {
*((char **) p) = line;
- if (!(line = __strchr(line, ':'))) {
+ if (!(line = strchr(line, ':'))) {
break;
}
} else {
break;
}
- line_len = __strlen(line_buff) - 1; /* strlen() must be > 0. */
+ line_len = strlen(line_buff) - 1; /* strlen() must be > 0. */
if (line_buff[line_len] == '\n') {
line_buff[line_len] = 0;
} else if (line_len + 2 == buflen) { /* line too long */