X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fuserspec.c;h=c6a49fae2745c113d3fc29205259889d092fb6b4;hb=6aae241f16ed2dbe57475cb4c8b3a5b1ca1e9699;hp=75000e8fd354e22ccd5701b86603bd773baa7ee6;hpb=a30cab0e1b1f6a146199fae14594c9013cf20f96;p=gnulib.git diff --git a/lib/userspec.c b/lib/userspec.c index 75000e8fd..c6a49fae2 100644 --- a/lib/userspec.c +++ b/lib/userspec.c @@ -18,28 +18,21 @@ /* Written by David MacKenzie . */ #ifdef HAVE_CONFIG_H -#if defined (CONFIG_BROKETS) -/* We use instead of "config.h" so that a compilation - using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h - (which it would do because it found this file in $srcdir). */ #include -#else -#include "config.h" -#endif #endif #ifdef __GNUC__ -#define alloca __builtin_alloca -#else -#ifdef HAVE_ALLOCA_H -#include +# define alloca __builtin_alloca #else -#ifdef _AIX +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX #pragma alloca -#else +# else char *alloca (); -#endif -#endif +# endif +# endif #endif #include @@ -47,21 +40,21 @@ char *alloca (); #include #include -#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) -#include -#ifndef index -#define index strchr -#endif +#ifdef HAVE_STRING_H +# include #else -#include +# include +# ifndef strchr +# define strchr index +# endif #endif #ifdef STDC_HEADERS -#include +# include #endif #ifdef HAVE_UNISTD_H -#include +# include #endif #ifndef _POSIX_VERSION @@ -70,9 +63,12 @@ struct group *getgrnam (); struct group *getgrgid (); #endif -#ifdef _POSIX_SOURCE -#define endpwent() -#define endgrent() +#ifndef HAVE_ENDGRENT +# define endgrent() ((void) 0) +#endif + +#ifndef HAVE_ENDPWENT +# define endpwent() ((void) 0) #endif /* Perform the equivalent of the statement `dest = strdup (src);', @@ -95,7 +91,7 @@ char *strdup (); otherwise return 0. */ static int -isnumber (str) +is_number (str) const char *str; { for (; *str; str++) @@ -138,9 +134,9 @@ parse_user_spec (spec_arg, uid, gid, username_arg, groupname_arg) V_STRDUP (spec, spec_arg); /* Find the separator if there is one. */ - separator = index (spec, ':'); + separator = strchr (spec, ':'); if (separator == NULL) - separator = index (spec, '.'); + separator = strchr (spec, '.'); /* Replace separator with a NUL. */ if (separator != NULL) @@ -163,7 +159,7 @@ parse_user_spec (spec_arg, uid, gid, username_arg, groupname_arg) if (pwd == NULL) { - if (!isnumber (u)) + if (!is_number (u)) error_msg = "invalid user"; else { @@ -209,7 +205,7 @@ parse_user_spec (spec_arg, uid, gid, username_arg, groupname_arg) grp = getgrnam (g); if (grp == NULL) { - if (!isnumber (g)) + if (!is_number (g)) error_msg = "invalid group"; else *gid = atoi (g);