X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fuserspec.c;h=8cf62391a310a0ef72e98a467b6d529cd91ab224;hb=11a85c350e8b872d617843487e1c77ea157880be;hp=80ace3e237181b34fb7b70a10954d599bc5e718d;hpb=552a680fa612218b68d4ef2f49bc276b95f6677b;p=gnulib.git diff --git a/lib/userspec.c b/lib/userspec.c index 80ace3e23..8cf62391a 100644 --- a/lib/userspec.c +++ b/lib/userspec.c @@ -1,5 +1,6 @@ /* userspec.c -- Parse a user and group string. - Copyright (C) 1989-1992, 1997-1998, 2000, 2002-2003 Free Software Foundation, Inc. + Copyright (C) 1989-1992, 1997-1998, 2000, 2002-2004 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 @@ -23,6 +24,9 @@ #include +/* Specification. */ +#include "userspec.h" + #include #include #include @@ -33,24 +37,15 @@ #endif #include - -#if HAVE_STRING_H -# include -#else -# include -# ifndef strchr -# define strchr index -# endif -#endif - -#if STDC_HEADERS -# include -#endif +#include +#include #if HAVE_UNISTD_H # include #endif +#include "strdup.h" +#include "posixver.h" #include "xalloc.h" #include "xstrtol.h" @@ -117,10 +112,6 @@ struct group *getgrgid (); of `digit' even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) -#ifndef strdup -char *strdup (); -#endif - /* Return nonzero if STR represents an unsigned decimal integer, otherwise return 0. */ @@ -179,7 +170,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