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