mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-25 17:20:25 +02:00
22474: use variable argument lists to improve error message handling
This commit is contained in:
parent
fd240e09b0
commit
dd5602f59b
52 changed files with 937 additions and 931 deletions
|
|
@ -380,10 +380,10 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
iwhich = aptr - statelts;
|
||||
}
|
||||
if (found > 1) {
|
||||
zwarnnam(name, "%s: ambiguous stat element", arg, 0);
|
||||
zwarnnam(name, "%s: ambiguous stat element", arg);
|
||||
return 1;
|
||||
} else if (found == 0) {
|
||||
zwarnnam(name, "%s: no such stat element", arg, 0);
|
||||
zwarnnam(name, "%s: no such stat element", arg);
|
||||
return 1;
|
||||
}
|
||||
/* if name of link requested, turn on lstat */
|
||||
|
|
@ -398,8 +398,7 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
if (arg[1]) {
|
||||
arrnam = arg+1;
|
||||
} else if (!(arrnam = *++args)) {
|
||||
zwarnnam(name, "missing parameter name",
|
||||
NULL, 0);
|
||||
zwarnnam(name, "missing parameter name");
|
||||
return 1;
|
||||
}
|
||||
flags |= STF_ARRAY;
|
||||
|
|
@ -408,8 +407,7 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
if (arg[1]) {
|
||||
hashnam = arg+1;
|
||||
} else if (!(hashnam = *++args)) {
|
||||
zwarnnam(name, "missing parameter name",
|
||||
NULL, 0);
|
||||
zwarnnam(name, "missing parameter name");
|
||||
return 1;
|
||||
}
|
||||
flags |= STF_HASH;
|
||||
|
|
@ -420,12 +418,12 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
if (arg[1]) {
|
||||
sfd = arg+1;
|
||||
} else if (!(sfd = *++args)) {
|
||||
zwarnnam(name, "missing file descriptor", NULL, 0);
|
||||
zwarnnam(name, "missing file descriptor");
|
||||
return 1;
|
||||
}
|
||||
fd = zstrtol(sfd, &sfd, 10);
|
||||
if (*sfd) {
|
||||
zwarnnam(name, "bad file descriptor", NULL, 0);
|
||||
zwarnnam(name, "bad file descriptor");
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
|
|
@ -433,14 +431,14 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
if (arg[1]) {
|
||||
timefmt = arg+1;
|
||||
} else if (!(timefmt = *++args)) {
|
||||
zwarnnam(name, "missing time format", NULL, 0);
|
||||
zwarnnam(name, "missing time format");
|
||||
return 1;
|
||||
}
|
||||
/* force string format in order to use time format */
|
||||
ops->ind['s'] = 1;
|
||||
break;
|
||||
} else {
|
||||
zwarnnam(name, "bad option: -%c", NULL, *arg);
|
||||
zwarnnam(name, "bad option: -%c", *arg);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
@ -449,7 +447,7 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
|
||||
if ((flags & STF_ARRAY) && (flags & STF_HASH)) {
|
||||
/* We don't implement setting multiple variables at once */
|
||||
zwarnnam(name, "both array and hash requested", NULL, 0);
|
||||
zwarnnam(name, "both array and hash requested");
|
||||
return 1;
|
||||
/* Alternate method would be to make -H blank arrnam etc etc *
|
||||
* and so get 'silent loss' of earlier choice, which would *
|
||||
|
|
@ -481,10 +479,10 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
}
|
||||
|
||||
if (!*args && !OPT_ISSET(ops,'f')) {
|
||||
zwarnnam(name, "no files given", NULL, 0);
|
||||
zwarnnam(name, "no files given");
|
||||
return 1;
|
||||
} else if (*args && OPT_ISSET(ops,'f')) {
|
||||
zwarnnam(name, "no files allowed with -f", NULL, 0);
|
||||
zwarnnam(name, "no files allowed with -f");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -524,7 +522,7 @@ bin_stat(char *name, char **args, Options ops, UNUSED(int func))
|
|||
|
||||
if (hashnam) {
|
||||
if (nargs > 1) {
|
||||
zwarnnam(name, "only one file allowed with -H", NULL, 0);
|
||||
zwarnnam(name, "only one file allowed with -H");
|
||||
return 1;
|
||||
}
|
||||
arrsize = (flags & STF_PICK) ? 1 : ST_COUNT;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue