X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fuserspec.c;h=b09c8d8a1ff68dfcf1009843531f589c974826c6;hb=efc1f57b9d5d6d528919cedfe2e4c41e786341d2;hp=ba66fac8b34d359dff2c6c17a8cdbbf5e81bda6b;hpb=b216ef7a2e9cb0bbfba8d2539e6995d3f64146ee;p=gnulib.git diff --git a/lib/userspec.c b/lib/userspec.c index ba66fac8b..b09c8d8a1 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-2004 Free Software + Copyright (C) 1989-1992, 1997-1998, 2000, 2002-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -14,11 +14,11 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by David MacKenzie . */ -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H # include #endif @@ -39,10 +39,9 @@ #include #include -#if HAVE_UNISTD_H -# include -#endif +#include +#include "intprops.h" #include "inttostr.h" #include "strdup.h" #include "xalloc.h" @@ -52,12 +51,6 @@ #define _(msgid) gettext (msgid) #define N_(msgid) msgid -#ifndef _POSIX_VERSION -struct passwd *getpwnam (); -struct group *getgrnam (); -struct group *getgrgid (); -#endif - #ifndef HAVE_ENDGRENT # define endgrent() ((void) 0) #endif @@ -66,14 +59,6 @@ struct group *getgrgid (); # define endpwent() ((void) 0) #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. - It is necessary at least when t == time_t. */ -#define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \ - ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0)) -#define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t))) - #ifndef UID_T_MAX # define UID_T_MAX TYPE_MAXIMUM (uid_t) #endif @@ -154,7 +139,7 @@ parse_with_separator (char const *spec, char const *separator, size_t ulen = separator - spec; if (ulen != 0) { - u = xclone (spec, ulen + 1); + u = xmemdup (spec, ulen + 1); u[ulen] = '\0'; } }