rename optind and optarg to avoid some gcc warnings

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@10906 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
2002-04-18 08:50:08 +00:00
parent db0107fb4b
commit f676ed55e4
2 changed files with 44 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997 - 2001 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2002 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -317,16 +317,17 @@ add_string(getarg_strings *s, char *value)
static int static int
arg_match_long(struct getargs *args, size_t num_args, arg_match_long(struct getargs *args, size_t num_args,
char *argv, int argc, char **rargv, int *optind) char *argv, int argc, char **rargv, int *goptind)
{ {
int i; int i;
char *optarg = NULL; char *goptarg = NULL;
int negate = 0; int negate = 0;
int partial_match = 0; int partial_match = 0;
struct getargs *partial = NULL; struct getargs *partial = NULL;
struct getargs *current = NULL; struct getargs *current = NULL;
int argv_len; int argv_len;
char *p; char *p;
int p_len;
argv_len = strlen(argv); argv_len = strlen(argv);
p = strchr (argv, '='); p = strchr (argv, '=');
@@ -336,8 +337,8 @@ arg_match_long(struct getargs *args, size_t num_args,
for (i = 0; i < num_args; ++i) { for (i = 0; i < num_args; ++i) {
if(args[i].long_name) { if(args[i].long_name) {
int len = strlen(args[i].long_name); int len = strlen(args[i].long_name);
char *p = argv; p = argv;
int p_len = argv_len; p_len = argv_len;
negate = 0; negate = 0;
for (;;) { for (;;) {
@@ -348,7 +349,7 @@ arg_match_long(struct getargs *args, size_t num_args,
++partial_match; ++partial_match;
partial = &args[i]; partial = &args[i];
} }
optarg = p + p_len; goptarg = p + p_len;
} else if (ISFLAG(args[i]) && strncmp (p, "no-", 3) == 0) { } else if (ISFLAG(args[i]) && strncmp (p, "no-", 3) == 0) {
negate = !negate; negate = !negate;
p += 3; p += 3;
@@ -368,7 +369,7 @@ arg_match_long(struct getargs *args, size_t num_args,
return ARG_ERR_NO_MATCH; return ARG_ERR_NO_MATCH;
} }
if(*optarg == '\0' if(*goptarg == '\0'
&& !ISFLAG(*current) && !ISFLAG(*current)
&& current->type != arg_collect && current->type != arg_collect
&& current->type != arg_counter) && current->type != arg_counter)
@@ -377,31 +378,31 @@ arg_match_long(struct getargs *args, size_t num_args,
case arg_integer: case arg_integer:
{ {
int tmp; int tmp;
if(sscanf(optarg + 1, "%d", &tmp) != 1) if(sscanf(goptarg + 1, "%d", &tmp) != 1)
return ARG_ERR_BAD_ARG; return ARG_ERR_BAD_ARG;
*(int*)current->value = tmp; *(int*)current->value = tmp;
return 0; return 0;
} }
case arg_string: case arg_string:
{ {
*(char**)current->value = optarg + 1; *(char**)current->value = goptarg + 1;
return 0; return 0;
} }
case arg_strings: case arg_strings:
{ {
add_string((getarg_strings*)current->value, optarg + 1); add_string((getarg_strings*)current->value, goptarg + 1);
return 0; return 0;
} }
case arg_flag: case arg_flag:
case arg_negative_flag: case arg_negative_flag:
{ {
int *flag = current->value; int *flag = current->value;
if(*optarg == '\0' || if(*goptarg == '\0' ||
strcmp(optarg + 1, "yes") == 0 || strcmp(goptarg + 1, "yes") == 0 ||
strcmp(optarg + 1, "true") == 0){ strcmp(goptarg + 1, "true") == 0){
*flag = !negate; *flag = !negate;
return 0; return 0;
} else if (*optarg && strcmp(optarg + 1, "maybe") == 0) { } else if (*goptarg && strcmp(goptarg + 1, "maybe") == 0) {
#ifdef HAVE_RANDOM #ifdef HAVE_RANDOM
*flag = random() & 1; *flag = random() & 1;
#else #else
@@ -417,9 +418,9 @@ arg_match_long(struct getargs *args, size_t num_args,
{ {
int val; int val;
if (*optarg == '\0') if (*goptarg == '\0')
val = 1; val = 1;
else if(sscanf(optarg + 1, "%d", &val) != 1) else if(sscanf(goptarg + 1, "%d", &val) != 1)
return ARG_ERR_BAD_ARG; return ARG_ERR_BAD_ARG;
*(int *)current->value += val; *(int *)current->value += val;
return 0; return 0;
@@ -427,15 +428,15 @@ arg_match_long(struct getargs *args, size_t num_args,
case arg_double: case arg_double:
{ {
double tmp; double tmp;
if(sscanf(optarg + 1, "%lf", &tmp) != 1) if(sscanf(goptarg + 1, "%lf", &tmp) != 1)
return ARG_ERR_BAD_ARG; return ARG_ERR_BAD_ARG;
*(double*)current->value = tmp; *(double*)current->value = tmp;
return 0; return 0;
} }
case arg_collect:{ case arg_collect:{
struct getarg_collect_info *c = current->value; struct getarg_collect_info *c = current->value;
int o = argv - rargv[*optind]; int o = argv - rargv[*goptind];
return (*c->func)(FALSE, argc, rargv, optind, &o, c->data); return (*c->func)(FALSE, argc, rargv, goptind, &o, c->data);
} }
default: default:
@@ -445,13 +446,13 @@ arg_match_long(struct getargs *args, size_t num_args,
static int static int
arg_match_short (struct getargs *args, size_t num_args, arg_match_short (struct getargs *args, size_t num_args,
char *argv, int argc, char **rargv, int *optind) char *argv, int argc, char **rargv, int *goptind)
{ {
int j, k; int j, k;
for(j = 1; j > 0 && j < strlen(rargv[*optind]); j++) { for(j = 1; j > 0 && j < strlen(rargv[*goptind]); j++) {
for(k = 0; k < num_args; k++) { for(k = 0; k < num_args; k++) {
char *optarg; char *goptarg;
if(args[k].short_name == 0) if(args[k].short_name == 0)
continue; continue;
@@ -471,36 +472,36 @@ arg_match_short (struct getargs *args, size_t num_args,
if(args[k].type == arg_collect) { if(args[k].type == arg_collect) {
struct getarg_collect_info *c = args[k].value; struct getarg_collect_info *c = args[k].value;
if((*c->func)(TRUE, argc, rargv, optind, &j, c->data)) if((*c->func)(TRUE, argc, rargv, goptind, &j, c->data))
return ARG_ERR_BAD_ARG; return ARG_ERR_BAD_ARG;
break; break;
} }
if(argv[j + 1]) if(argv[j + 1])
optarg = &argv[j + 1]; goptarg = &argv[j + 1];
else { else {
++*optind; ++*goptind;
optarg = rargv[*optind]; goptarg = rargv[*goptind];
} }
if(optarg == NULL) { if(goptarg == NULL) {
--*optind; --*goptind;
return ARG_ERR_NO_ARG; return ARG_ERR_NO_ARG;
} }
if(args[k].type == arg_integer) { if(args[k].type == arg_integer) {
int tmp; int tmp;
if(sscanf(optarg, "%d", &tmp) != 1) if(sscanf(goptarg, "%d", &tmp) != 1)
return ARG_ERR_BAD_ARG; return ARG_ERR_BAD_ARG;
*(int*)args[k].value = tmp; *(int*)args[k].value = tmp;
return 0; return 0;
} else if(args[k].type == arg_string) { } else if(args[k].type == arg_string) {
*(char**)args[k].value = optarg; *(char**)args[k].value = goptarg;
return 0; return 0;
} else if(args[k].type == arg_strings) { } else if(args[k].type == arg_strings) {
add_string((getarg_strings*)args[k].value, optarg); add_string((getarg_strings*)args[k].value, goptarg);
return 0; return 0;
} else if(args[k].type == arg_double) { } else if(args[k].type == arg_double) {
double tmp; double tmp;
if(sscanf(optarg, "%lf", &tmp) != 1) if(sscanf(goptarg, "%lf", &tmp) != 1)
return ARG_ERR_BAD_ARG; return ARG_ERR_BAD_ARG;
*(double*)args[k].value = tmp; *(double*)args[k].value = tmp;
return 0; return 0;
@@ -516,7 +517,7 @@ arg_match_short (struct getargs *args, size_t num_args,
int int
getarg(struct getargs *args, size_t num_args, getarg(struct getargs *args, size_t num_args,
int argc, char **argv, int *optind) int argc, char **argv, int *goptind)
{ {
int i; int i;
int ret = 0; int ret = 0;
@@ -528,8 +529,8 @@ getarg(struct getargs *args, size_t num_args,
#else #else
srand (time(NULL)); srand (time(NULL));
#endif #endif
(*optind)++; (*goptind)++;
for(i = *optind; i < argc; i++) { for(i = *goptind; i < argc; i++) {
if(argv[i][0] != '-') if(argv[i][0] != '-')
break; break;
if(argv[i][1] == '-'){ if(argv[i][1] == '-'){
@@ -546,7 +547,7 @@ getarg(struct getargs *args, size_t num_args,
if(ret) if(ret)
break; break;
} }
*optind = i; *goptind = i;
return ret; return ret;
} }
@@ -573,9 +574,9 @@ struct getargs args[] = {
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int optind = 0; int goptind = 0;
while(getarg(args, 5, argc, argv, &optind)) while(getarg(args, 5, argc, argv, &goptind))
printf("Bad arg: %s\n", argv[optind]); printf("Bad arg: %s\n", argv[goptind]);
printf("flag1 = %d\n", flag1); printf("flag1 = %d\n", flag1);
printf("flag2 = %d\n", flag2); printf("flag2 = %d\n", flag2);
printf("foo_flag = %d\n", foo_flag); printf("foo_flag = %d\n", foo_flag);

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997 - 2001 Kungliga Tekniska H<>gskolan * Copyright (c) 1997 - 2002 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -69,8 +69,8 @@ typedef struct getarg_strings {
typedef int (*getarg_collect_func)(int short_opt, typedef int (*getarg_collect_func)(int short_opt,
int argc, int argc,
char **argv, char **argv,
int *optind, int *goptind,
int *optarg, int *goptarg,
void *data); void *data);
typedef struct getarg_collect_info { typedef struct getarg_collect_info {
@@ -79,7 +79,7 @@ typedef struct getarg_collect_info {
} getarg_collect_info; } getarg_collect_info;
int getarg(struct getargs *args, size_t num_args, int getarg(struct getargs *args, size_t num_args,
int argc, char **argv, int *optind); int argc, char **argv, int *goptind);
void arg_printusage (struct getargs *args, void arg_printusage (struct getargs *args,
size_t num_args, size_t num_args,