Remove K&R cruft.
[gnulib.git] / lib / userspec.c
index 88b43a1..19443ec 100644 (file)
@@ -32,9 +32,7 @@
 # include <sys/param.h>
 #endif
 
-#if HAVE_LIMITS_H
-# include <limits.h>
-#endif
+#include <limits.h>
 
 #if HAVE_STRING_H
 # include <string.h>
@@ -53,6 +51,7 @@
 # include <unistd.h>
 #endif
 
+#include "posixver.h"
 #include "xalloc.h"
 #include "xstrtol.h"
 
@@ -74,10 +73,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.
@@ -185,7 +180,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