# HG changeset patch # User Bruno Haible # Date 1037909739 0 # Node ID 53129a4ff53033992c1d689036f28c76f9c45200 # Parent 592de7dbfd006d6e5de6da4151472d793f630343 Remove case insensitive option matching. diff --git a/lib/ChangeLog b/lib/ChangeLog --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,5 +1,17 @@ 2002-11-21 Bruno Haible + Remove case insensitive option matching. + * argmatch.h (argcasematch): Remove declaration. + (ARGCASEMATCH): Remove macro. + (__xargmatch_internal): Remove case_sensitive argument. + (XARGMATCH): Update. + (XARGCASEMATCH): Remove macro. + * argmatch.c (argmatch): Renamed from __argmatch_internal. Remove + case_sensitive argument. + (argcasematch): Remove function. + (__xargmatch_internal): Remove case_sensitive argument. + (main): Use XARGMATCH instead of XARGCASEMATCH. + * xmalloc.c: Change compile-time error message. Add comment about required autoconf version. diff --git a/lib/argmatch.c b/lib/argmatch.c --- a/lib/argmatch.c +++ b/lib/argmatch.c @@ -68,7 +68,6 @@ null-terminated array ARGLIST, return the index in ARGLIST of the matched element, else -1 if it does not match any element or -2 if it is ambiguous (is a prefix of more than one element). - If SENSITIVE, comparison is case sensitive. If VALLIST is none null, use it to resolve ambiguities limited to synonyms, i.e., for @@ -76,10 +75,9 @@ "no", "nope" -> 1 "y" is a valid argument, for `0', and "n" for `1'. */ -static int -__argmatch_internal (const char *arg, const char *const *arglist, - const char *vallist, size_t valsize, - int case_sensitive) +int +argmatch (const char *arg, const char *const *arglist, + const char *vallist, size_t valsize) { int i; /* Temporary index in ARGLIST. */ size_t arglen; /* Length of ARG. */ @@ -91,9 +89,7 @@ /* Test all elements for either exact match or abbreviated matches. */ for (i = 0; arglist[i]; i++) { - if (case_sensitive - ? !strncmp (arglist[i], arg, arglen) - : !strncasecmp (arglist[i], arg, arglen)) + if (!strncmp (arglist[i], arg, arglen)) { if (strlen (arglist[i]) == arglen) /* Exact match found. */ @@ -121,22 +117,6 @@ return matchind; } -/* argmatch - case sensitive version */ -int -argmatch (const char *arg, const char *const *arglist, - const char *vallist, size_t valsize) -{ - return __argmatch_internal (arg, arglist, vallist, valsize, 1); -} - -/* argcasematch - case insensitive version */ -int -argcasematch (const char *arg, const char *const *arglist, - const char *vallist, size_t valsize) -{ - return __argmatch_internal (arg, arglist, vallist, valsize, 0); -} - /* Error reporting for argmatch. CONTEXT is a description of the type of entity that was being matched. VALUE is the invalid value that was given. @@ -191,12 +171,9 @@ __xargmatch_internal (const char *context, const char *arg, const char *const *arglist, const char *vallist, size_t valsize, - int case_sensitive, argmatch_exit_fn exit_fn) { - int res = __argmatch_internal (arg, arglist, - vallist, valsize, - case_sensitive); + int res = argmatch (arg, arglist, vallist, valsize); if (res >= 0) /* Success. */ return res; @@ -282,12 +259,12 @@ } if ((cp = getenv ("VERSION_CONTROL"))) - backup_type = XARGCASEMATCH ("$VERSION_CONTROL", cp, - backup_args, backup_vals); + backup_type = XARGMATCH ("$VERSION_CONTROL", cp, + backup_args, backup_vals); if (argc == 2) - backup_type = XARGCASEMATCH (program_name, argv[1], - backup_args, backup_vals); + backup_type = XARGMATCH (program_name, argv[1], + backup_args, backup_vals); printf ("The version control is `%s'\n", ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals)); diff --git a/lib/argmatch.h b/lib/argmatch.h --- a/lib/argmatch.h +++ b/lib/argmatch.h @@ -49,15 +49,10 @@ int argmatch (char const *arg, char const *const *arglist, char const *vallist, size_t valsize); -int argcasematch (char const *arg, char const *const *arglist, - char const *vallist, size_t valsize); # define ARGMATCH(Arg, Arglist, Vallist) \ argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) -# define ARGCASEMATCH(Arg, Arglist, Vallist) \ - argcasematch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist)) - /* xargmatch calls this function when it fails. This function should not return. By default, this is a function that calls ARGMATCH_DIE which in turn defaults to `exit (EXIT_FAILURE)'. */ @@ -91,7 +86,7 @@ int __xargmatch_internal (char const *context, char const *arg, char const *const *arglist, char const *vallist, size_t valsize, - int case_sensitive, argmatch_exit_fn exit_fn); + argmatch_exit_fn exit_fn); /* Programmer friendly interface to __xargmatch_internal. */ @@ -99,13 +94,7 @@ ((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \ (char const *) (Vallist), \ sizeof *(Vallist), \ - 1, argmatch_die)]) - -# define XARGCASEMATCH(Context, Arg, Arglist, Vallist) \ - ((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \ - (char const *) (Vallist), \ - sizeof *(Vallist), \ - 0, argmatch_die)]) + argmatch_die)]) /* Convert a value into a corresponding argument. */