/* 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
# include <config.h>
#endif
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- # pragma alloca
-# else
-char *alloca ();
-# endif
-# endif
-#endif
+#include <alloca.h>
#include <stdio.h>
#include <sys/types.h>
# include <sys/param.h>
#endif
-#if HAVE_LIMITS_H
-# include <limits.h>
-#endif
+#include <limits.h>
#if HAVE_STRING_H
# include <string.h>
# include <unistd.h>
#endif
+#include "posixver.h"
#include "xalloc.h"
#include "xstrtol.h"
-#if ENABLE_NLS
-# include <libintl.h>
-# 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 ();
# 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.
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