*** empty log message ***
[gnulib.git] / lib / userspec.c
index 67bde65..1d3df6e 100644 (file)
@@ -1,5 +1,5 @@
 /* userspec.c -- Parse a user and group string.
-   Copyright (C) 1989-1992, 1997, 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1989-1992, 1997, 1998, 2000, 2002 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
@@ -134,10 +134,9 @@ struct group *getgrgid ();
    - Its arg may be any int or unsigned int; it need not be an unsigned char.
    - It's guaranteed to evaluate its argument exactly once.
    - It's typically faster.
-   Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
-   only '0' through '9' are digits.  Prefer ISDIGIT to isdigit unless
-   it's important to use the locale's definition of `digit' even when the
-   host does not conform to Posix.  */
+   POSIX says that only '0' through '9' are digits.  Prefer ISDIGIT to
+   ISDIGIT_LOCALE unless it's important to use the locale's definition
+   of `digit' even when the host does not conform to POSIX.  */
 #define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
 
 #ifndef strdup
@@ -163,8 +162,8 @@ is_number (const char *str)
    use the given user's login group.
    If SPEC_ARG contains a `:', then use that as the separator, ignoring
    any `.'s.  If there is no `:', but there is a `.', then first look
-   up SPEC_ARG as a login name.  If that look-up fails, then try again
-   interpreting the `.'  as a separator.
+   up the entire SPEC_ARG as a login name.  If that look-up fails, then
+   try again interpreting the `.'  as a separator.
 
    USERNAME and GROUPNAME will be in newly malloc'd memory.
    Either one might be NULL instead, indicating that it was not
@@ -261,7 +260,6 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
                  if (xstrtoul (u, NULL, 0, &tmp_long, NULL) != LONGINT_OK
                      || tmp_long > MAXUID)
                    return _(E_invalid_user);
-                 printf ("MAXUID: %u\n", (uid_t) MAXUID);
                  *uid = tmp_long;
                }
            }
@@ -305,7 +303,7 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
          else
            {
              unsigned long int tmp_long;
-             if (xstrtoul (u, NULL, 0, &tmp_long, NULL) != LONGINT_OK
+             if (xstrtoul (g, NULL, 0, &tmp_long, NULL) != LONGINT_OK
                  || tmp_long > MAXGID)
                return _(E_invalid_group);
              *gid = tmp_long;