X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fuserspec.c;h=6e58b486c7ed9e50ead5b9df56733945c85a9a93;hb=b3b353659ac863c94e9705047710a99fa58fe0b1;hp=1d3df6e442c60d5e62682a43819fe520c64866d2;hpb=e0e564bfdda642e9e5116f8271065d7cecfece3a;p=gnulib.git diff --git a/lib/userspec.c b/lib/userspec.c index 1d3df6e44..6e58b486c 100644 --- a/lib/userspec.c +++ b/lib/userspec.c @@ -1,5 +1,5 @@ /* userspec.c -- Parse a user and group string. - Copyright (C) 1989-1992, 1997, 1998, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1989-1992, 1997-1998, 2000, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,19 +21,7 @@ # include #endif -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - # pragma alloca -# else -char *alloca (); -# endif -# endif -#endif +#include #include #include @@ -44,37 +32,21 @@ char *alloca (); # include #endif -#if HAVE_LIMITS_H -# include -#endif - -#if HAVE_STRING_H -# include -#else -# include -# ifndef strchr -# define strchr index -# endif -#endif - -#if STDC_HEADERS -# include -#endif +#include +#include +#include #if HAVE_UNISTD_H # include #endif +#include "posixver.h" #include "xalloc.h" #include "xstrtol.h" -#if ENABLE_NLS -# include -# define _(Text) gettext (Text) -#else -# define _(Text) Text -#endif -#define N_(Text) Text +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid #ifndef _POSIX_VERSION struct passwd *getpwnam (); @@ -90,10 +62,6 @@ struct group *getgrgid (); # define endpwent() ((void) 0) #endif -#ifndef CHAR_BIT -# define CHAR_BIT 8 -#endif - /* The extra casts work around common compiler bugs. */ #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1)) /* The outer cast is needed to work around a bug in Cray C 5.0.3.0. @@ -201,7 +169,7 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid, separator = strchr (spec, ':'); /* If there is no colon, then see if there's a `.'. */ - if (separator == NULL) + if (separator == NULL && posix2_version () < 200112) { dot = strchr (spec, '.'); /* If there's no colon but there is a `.', then first look up the