+2007-03-24 Bruno Haible <bruno@clisp.org>
+
+ * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
+ arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
+
2007-03-22 Bruno Haible <bruno@clisp.org>
* lib/strptime.c (__strptime_internal): Use ANSI C syntax.
/* Hierarchial argument parsing help output
- Copyright (C) 1995-2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
const char *var = getenv ("ARGP_HELP_FMT");
struct uparams new_params = uparams;
-#define SKIPWS(p) do { while (isspace (*p)) p++; } while (0);
+#define SKIPWS(p) do { while (isspace ((unsigned char) *p)) p++; } while (0);
if (var)
{
{
SKIPWS (var);
- if (isalpha (*var))
+ if (isalpha ((unsigned char) *var))
{
size_t var_len;
const struct uparam_name *un;
int unspec = 0, val = 0;
const char *arg = var;
- while (isalnum (*arg) || *arg == '-' || *arg == '_')
+ while (isalnum ((unsigned char) *arg) || *arg == '-' || *arg == '_')
arg++;
var_len = arg - var;
else
val = 1;
}
- else if (isdigit (*arg))
+ else if (isdigit ((unsigned char) *arg))
{
val = atoi (arg);
- while (isdigit (*arg))
+ while (isdigit ((unsigned char) *arg))
arg++;
SKIPWS (arg);
}
else
{
/* Skip initial whitespace. */
- while (isspace (**name))
+ while (isspace ((unsigned char) **name))
(*name)++;
/* Decide whether this looks like an option (leading `-') or not. */
non_opt = (**name != '-');
/* Skip until part of name used for sorting. */
- while (**name && !isalnum (**name))
+ while (**name && !isalnum ((unsigned char) **name))
(*name)++;
}
return non_opt;