diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:00:54 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-03-17 09:00:54 +0000 |
| commit | 68404f13d4bf4826e3609703dad5375763db28ab (patch) | |
| tree | b89ed41daeb3a761ac9416a6eed090023b23e7e2 /shell | |
| parent | a55bd05f3cea6c7cbfb45d15009cb70570c2a43b (diff) | |
| download | busybox-w32-68404f13d4bf4826e3609703dad5375763db28ab.tar.gz busybox-w32-68404f13d4bf4826e3609703dad5375763db28ab.tar.bz2 busybox-w32-68404f13d4bf4826e3609703dad5375763db28ab.zip | |
*: add -Wunused-parameter; fix resulting breakage
function old new delta
procps_scan 1265 1298 +33
aliascmd 278 283 +5
parse_file_cmd 116 120 +4
dname_enc 373 377 +4
setcmd 90 93 +3
execcmd 57 60 +3
count_lines 72 74 +2
process_command_subs 340 339 -1
test_main 409 407 -2
mknod_main 179 177 -2
handle_incoming_and_exit 2653 2651 -2
argstr 1312 1310 -2
shiftcmd 131 128 -3
exitcmd 46 43 -3
dotcmd 297 294 -3
breakcmd 86 83 -3
evalpipe 353 349 -4
evalcommand 1180 1176 -4
evalcmd 109 105 -4
send_tree 374 369 -5
mkfifo_main 82 77 -5
evalsubshell 152 147 -5
typecmd 75 69 -6
letcmd 61 55 -6
add_cmd 1190 1183 -7
main 891 883 -8
ash_main 1415 1407 -8
parse_stream 1377 1367 -10
alloc_procps_scan 55 - -55
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes
text data bss dec hex filename
797195 658 7428 805281 c49a1 busybox_old
797101 658 7428 805187 c4943 busybox_unstripped
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/ash.c | 153 | ||||
| -rw-r--r-- | shell/hush.c | 24 | ||||
| -rw-r--r-- | shell/msh.c | 46 |
3 files changed, 113 insertions, 110 deletions
diff --git a/shell/ash.c b/shell/ash.c index 069909118..580918ceb 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
| @@ -2472,7 +2472,7 @@ docd(const char *dest, int flags) | |||
| 2472 | } | 2472 | } |
| 2473 | 2473 | ||
| 2474 | static int | 2474 | static int |
| 2475 | cdcmd(int argc, char **argv) | 2475 | cdcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 2476 | { | 2476 | { |
| 2477 | const char *dest; | 2477 | const char *dest; |
| 2478 | const char *path; | 2478 | const char *path; |
| @@ -2536,7 +2536,7 @@ cdcmd(int argc, char **argv) | |||
| 2536 | } | 2536 | } |
| 2537 | 2537 | ||
| 2538 | static int | 2538 | static int |
| 2539 | pwdcmd(int argc, char **argv) | 2539 | pwdcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 2540 | { | 2540 | { |
| 2541 | int flags; | 2541 | int flags; |
| 2542 | const char *dir = curdir; | 2542 | const char *dir = curdir; |
| @@ -3138,19 +3138,20 @@ printalias(const struct alias *ap) | |||
| 3138 | * TODO - sort output | 3138 | * TODO - sort output |
| 3139 | */ | 3139 | */ |
| 3140 | static int | 3140 | static int |
| 3141 | aliascmd(int argc, char **argv) | 3141 | aliascmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 3142 | { | 3142 | { |
| 3143 | char *n, *v; | 3143 | char *n, *v; |
| 3144 | int ret = 0; | 3144 | int ret = 0; |
| 3145 | struct alias *ap; | 3145 | struct alias *ap; |
| 3146 | 3146 | ||
| 3147 | if (argc == 1) { | 3147 | if (!argv[1]) { |
| 3148 | int i; | 3148 | int i; |
| 3149 | 3149 | ||
| 3150 | for (i = 0; i < ATABSIZE; i++) | 3150 | for (i = 0; i < ATABSIZE; i++) { |
| 3151 | for (ap = atab[i]; ap; ap = ap->next) { | 3151 | for (ap = atab[i]; ap; ap = ap->next) { |
| 3152 | printalias(ap); | 3152 | printalias(ap); |
| 3153 | } | 3153 | } |
| 3154 | } | ||
| 3154 | return 0; | 3155 | return 0; |
| 3155 | } | 3156 | } |
| 3156 | while ((n = *++argv) != NULL) { | 3157 | while ((n = *++argv) != NULL) { |
| @@ -3172,7 +3173,7 @@ aliascmd(int argc, char **argv) | |||
| 3172 | } | 3173 | } |
| 3173 | 3174 | ||
| 3174 | static int | 3175 | static int |
| 3175 | unaliascmd(int argc, char **argv) | 3176 | unaliascmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 3176 | { | 3177 | { |
| 3177 | int i; | 3178 | int i; |
| 3178 | 3179 | ||
| @@ -3245,7 +3246,7 @@ struct job { | |||
| 3245 | static pid_t backgndpid; /* pid of last background process */ | 3246 | static pid_t backgndpid; /* pid of last background process */ |
| 3246 | static smallint job_warning; /* user was warned about stopped jobs (can be 2, 1 or 0). */ | 3247 | static smallint job_warning; /* user was warned about stopped jobs (can be 2, 1 or 0). */ |
| 3247 | 3248 | ||
| 3248 | static struct job *makejob(union node *, int); | 3249 | static struct job *makejob(/*union node *,*/ int); |
| 3249 | static int forkshell(struct job *, union node *, int); | 3250 | static int forkshell(struct job *, union node *, int); |
| 3250 | static int waitforjob(struct job *); | 3251 | static int waitforjob(struct job *); |
| 3251 | 3252 | ||
| @@ -3612,8 +3613,8 @@ setjobctl(int on) | |||
| 3612 | static int | 3613 | static int |
| 3613 | killcmd(int argc, char **argv) | 3614 | killcmd(int argc, char **argv) |
| 3614 | { | 3615 | { |
| 3616 | int i = 1; | ||
| 3615 | if (argv[1] && strcmp(argv[1], "-l") != 0) { | 3617 | if (argv[1] && strcmp(argv[1], "-l") != 0) { |
| 3616 | int i = 1; | ||
| 3617 | do { | 3618 | do { |
| 3618 | if (argv[i][0] == '%') { | 3619 | if (argv[i][0] == '%') { |
| 3619 | struct job *jp = getjob(argv[i], 0); | 3620 | struct job *jp = getjob(argv[i], 0); |
| @@ -3675,7 +3676,7 @@ restartjob(struct job *jp, int mode) | |||
| 3675 | } | 3676 | } |
| 3676 | 3677 | ||
| 3677 | static int | 3678 | static int |
| 3678 | fg_bgcmd(int argc, char **argv) | 3679 | fg_bgcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 3679 | { | 3680 | { |
| 3680 | struct job *jp; | 3681 | struct job *jp; |
| 3681 | FILE *out; | 3682 | FILE *out; |
| @@ -3962,7 +3963,7 @@ showjobs(FILE *out, int mode) | |||
| 3962 | } | 3963 | } |
| 3963 | 3964 | ||
| 3964 | static int | 3965 | static int |
| 3965 | jobscmd(int argc, char **argv) | 3966 | jobscmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 3966 | { | 3967 | { |
| 3967 | int mode, m; | 3968 | int mode, m; |
| 3968 | 3969 | ||
| @@ -4015,7 +4016,7 @@ getstatus(struct job *job) | |||
| 4015 | } | 4016 | } |
| 4016 | 4017 | ||
| 4017 | static int | 4018 | static int |
| 4018 | waitcmd(int argc, char **argv) | 4019 | waitcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 4019 | { | 4020 | { |
| 4020 | struct job *job; | 4021 | struct job *job; |
| 4021 | int retval; | 4022 | int retval; |
| @@ -4121,7 +4122,7 @@ growjobtab(void) | |||
| 4121 | * Called with interrupts off. | 4122 | * Called with interrupts off. |
| 4122 | */ | 4123 | */ |
| 4123 | static struct job * | 4124 | static struct job * |
| 4124 | makejob(union node *node, int nprocs) | 4125 | makejob(/*union node *node,*/ int nprocs) |
| 4125 | { | 4126 | { |
| 4126 | int i; | 4127 | int i; |
| 4127 | struct job *jp; | 4128 | struct job *jp; |
| @@ -4156,7 +4157,7 @@ makejob(union node *node, int nprocs) | |||
| 4156 | if (nprocs > 1) { | 4157 | if (nprocs > 1) { |
| 4157 | jp->ps = ckmalloc(nprocs * sizeof(struct procstat)); | 4158 | jp->ps = ckmalloc(nprocs * sizeof(struct procstat)); |
| 4158 | } | 4159 | } |
| 4159 | TRACE(("makejob(0x%lx, %d) returns %%%d\n", (long)node, nprocs, | 4160 | TRACE(("makejob(%d) returns %%%d\n", nprocs, |
| 4160 | jobno(jp))); | 4161 | jobno(jp))); |
| 4161 | return jp; | 4162 | return jp; |
| 4162 | } | 4163 | } |
| @@ -4484,7 +4485,7 @@ static void closescript(void); | |||
| 4484 | 4485 | ||
| 4485 | /* Called after fork(), in child */ | 4486 | /* Called after fork(), in child */ |
| 4486 | static void | 4487 | static void |
| 4487 | forkchild(struct job *jp, union node *n, int mode) | 4488 | forkchild(struct job *jp, /*union node *n,*/ int mode) |
| 4488 | { | 4489 | { |
| 4489 | int oldlvl; | 4490 | int oldlvl; |
| 4490 | 4491 | ||
| @@ -4584,7 +4585,7 @@ forkshell(struct job *jp, union node *n, int mode) | |||
| 4584 | ash_msg_and_raise_error("cannot fork"); | 4585 | ash_msg_and_raise_error("cannot fork"); |
| 4585 | } | 4586 | } |
| 4586 | if (pid == 0) | 4587 | if (pid == 0) |
| 4587 | forkchild(jp, n, mode); | 4588 | forkchild(jp, /*n,*/ mode); |
| 4588 | else | 4589 | else |
| 4589 | forkparent(jp, n, mode, pid); | 4590 | forkparent(jp, n, mode, pid); |
| 4590 | return pid; | 4591 | return pid; |
| @@ -5371,7 +5372,7 @@ evalbackcmd(union node *n, struct backcmd *result) | |||
| 5371 | 5372 | ||
| 5372 | if (pipe(pip) < 0) | 5373 | if (pipe(pip) < 0) |
| 5373 | ash_msg_and_raise_error("pipe call failed"); | 5374 | ash_msg_and_raise_error("pipe call failed"); |
| 5374 | jp = makejob(n, 1); | 5375 | jp = makejob(/*n,*/ 1); |
| 5375 | if (forkshell(jp, n, FORK_NOJOB) == 0) { | 5376 | if (forkshell(jp, n, FORK_NOJOB) == 0) { |
| 5376 | FORCE_INT_ON; | 5377 | FORCE_INT_ON; |
| 5377 | close(pip[0]); | 5378 | close(pip[0]); |
| @@ -5668,7 +5669,7 @@ argstr(char *p, int flag, struct strlist *var_str_list) | |||
| 5668 | } | 5669 | } |
| 5669 | 5670 | ||
| 5670 | static char * | 5671 | static char * |
| 5671 | scanleft(char *startp, char *rmesc, char *rmescend, char *str, int quotes, | 5672 | scanleft(char *startp, char *rmesc, char *rmescend ATTRIBUTE_UNUSED, char *str, int quotes, |
| 5672 | int zero) | 5673 | int zero) |
| 5673 | { | 5674 | { |
| 5674 | char *loc; | 5675 | char *loc; |
| @@ -6407,7 +6408,7 @@ expsort(struct strlist *str) | |||
| 6407 | } | 6408 | } |
| 6408 | 6409 | ||
| 6409 | static void | 6410 | static void |
| 6410 | expandmeta(struct strlist *str, int flag) | 6411 | expandmeta(struct strlist *str /*, int flag*/) |
| 6411 | { | 6412 | { |
| 6412 | static const char metachars[] ALIGN1 = { | 6413 | static const char metachars[] ALIGN1 = { |
| 6413 | '*', '?', '[', 0 | 6414 | '*', '?', '[', 0 |
| @@ -6488,7 +6489,7 @@ expandarg(union node *arg, struct arglist *arglist, int flag) | |||
| 6488 | ifsbreakup(p, &exparg); | 6489 | ifsbreakup(p, &exparg); |
| 6489 | *exparg.lastp = NULL; | 6490 | *exparg.lastp = NULL; |
| 6490 | exparg.lastp = &exparg.list; | 6491 | exparg.lastp = &exparg.list; |
| 6491 | expandmeta(exparg.list, flag); | 6492 | expandmeta(exparg.list /*, flag*/); |
| 6492 | } else { | 6493 | } else { |
| 6493 | if (flag & EXP_REDIR) /*XXX - for now, just remove escapes */ | 6494 | if (flag & EXP_REDIR) /*XXX - for now, just remove escapes */ |
| 6494 | rmescapes(p); | 6495 | rmescapes(p); |
| @@ -6838,7 +6839,7 @@ addcmdentry(char *name, struct cmdentry *entry) | |||
| 6838 | } | 6839 | } |
| 6839 | 6840 | ||
| 6840 | static int | 6841 | static int |
| 6841 | hashcmd(int argc, char **argv) | 6842 | hashcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 6842 | { | 6843 | { |
| 6843 | struct tblentry **pp; | 6844 | struct tblentry **pp; |
| 6844 | struct tblentry *cmdp; | 6845 | struct tblentry *cmdp; |
| @@ -7139,7 +7140,7 @@ describe_command(char *command, int describe_command_verbose) | |||
| 7139 | } | 7140 | } |
| 7140 | 7141 | ||
| 7141 | static int | 7142 | static int |
| 7142 | typecmd(int argc, char **argv) | 7143 | typecmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 7143 | { | 7144 | { |
| 7144 | int i = 1; | 7145 | int i = 1; |
| 7145 | int err = 0; | 7146 | int err = 0; |
| @@ -7150,7 +7151,7 @@ typecmd(int argc, char **argv) | |||
| 7150 | i++; | 7151 | i++; |
| 7151 | verbose = 0; | 7152 | verbose = 0; |
| 7152 | } | 7153 | } |
| 7153 | while (i < argc) { | 7154 | while (argv[i]) { |
| 7154 | err |= describe_command(argv[i++], verbose); | 7155 | err |= describe_command(argv[i++], verbose); |
| 7155 | } | 7156 | } |
| 7156 | return err; | 7157 | return err; |
| @@ -7158,7 +7159,7 @@ typecmd(int argc, char **argv) | |||
| 7158 | 7159 | ||
| 7159 | #if ENABLE_ASH_CMDCMD | 7160 | #if ENABLE_ASH_CMDCMD |
| 7160 | static int | 7161 | static int |
| 7161 | commandcmd(int argc, char **argv) | 7162 | commandcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 7162 | { | 7163 | { |
| 7163 | int c; | 7164 | int c; |
| 7164 | enum { | 7165 | enum { |
| @@ -7768,7 +7769,7 @@ evalsubshell(union node *n, int flags) | |||
| 7768 | if (!backgnd && flags & EV_EXIT && !trap[0]) | 7769 | if (!backgnd && flags & EV_EXIT && !trap[0]) |
| 7769 | goto nofork; | 7770 | goto nofork; |
| 7770 | INT_OFF; | 7771 | INT_OFF; |
| 7771 | jp = makejob(n, 1); | 7772 | jp = makejob(/*n,*/ 1); |
| 7772 | if (forkshell(jp, n, backgnd) == 0) { | 7773 | if (forkshell(jp, n, backgnd) == 0) { |
| 7773 | INT_ON; | 7774 | INT_ON; |
| 7774 | flags |= EV_EXIT; | 7775 | flags |= EV_EXIT; |
| @@ -7843,7 +7844,7 @@ evalpipe(union node *n, int flags) | |||
| 7843 | pipelen++; | 7844 | pipelen++; |
| 7844 | flags |= EV_EXIT; | 7845 | flags |= EV_EXIT; |
| 7845 | INT_OFF; | 7846 | INT_OFF; |
| 7846 | jp = makejob(n, pipelen); | 7847 | jp = makejob(/*n,*/ pipelen); |
| 7847 | prevfd = -1; | 7848 | prevfd = -1; |
| 7848 | for (lp = n->npipe.cmdlist; lp; lp = lp->next) { | 7849 | for (lp = n->npipe.cmdlist; lp; lp = lp->next) { |
| 7849 | prehash(lp->n); | 7850 | prehash(lp->n); |
| @@ -8098,7 +8099,7 @@ mklocal(char *name) | |||
| 8098 | * The "local" command. | 8099 | * The "local" command. |
| 8099 | */ | 8100 | */ |
| 8100 | static int | 8101 | static int |
| 8101 | localcmd(int argc, char **argv) | 8102 | localcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 8102 | { | 8103 | { |
| 8103 | char *name; | 8104 | char *name; |
| 8104 | 8105 | ||
| @@ -8110,21 +8111,21 @@ localcmd(int argc, char **argv) | |||
| 8110 | } | 8111 | } |
| 8111 | 8112 | ||
| 8112 | static int | 8113 | static int |
| 8113 | falsecmd(int argc, char **argv) | 8114 | falsecmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 8114 | { | 8115 | { |
| 8115 | return 1; | 8116 | return 1; |
| 8116 | } | 8117 | } |
| 8117 | 8118 | ||
| 8118 | static int | 8119 | static int |
| 8119 | truecmd(int argc, char **argv) | 8120 | truecmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 8120 | { | 8121 | { |
| 8121 | return 0; | 8122 | return 0; |
| 8122 | } | 8123 | } |
| 8123 | 8124 | ||
| 8124 | static int | 8125 | static int |
| 8125 | execcmd(int argc, char **argv) | 8126 | execcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 8126 | { | 8127 | { |
| 8127 | if (argc > 1) { | 8128 | if (argv[1]) { |
| 8128 | iflag = 0; /* exit on error */ | 8129 | iflag = 0; /* exit on error */ |
| 8129 | mflag = 0; | 8130 | mflag = 0; |
| 8130 | optschanged(); | 8131 | optschanged(); |
| @@ -8137,7 +8138,7 @@ execcmd(int argc, char **argv) | |||
| 8137 | * The return command. | 8138 | * The return command. |
| 8138 | */ | 8139 | */ |
| 8139 | static int | 8140 | static int |
| 8140 | returncmd(int argc, char **argv) | 8141 | returncmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 8141 | { | 8142 | { |
| 8142 | /* | 8143 | /* |
| 8143 | * If called outside a function, do what ksh does; | 8144 | * If called outside a function, do what ksh does; |
| @@ -8296,7 +8297,7 @@ isassignment(const char *p) | |||
| 8296 | return *q == '='; | 8297 | return *q == '='; |
| 8297 | } | 8298 | } |
| 8298 | static int | 8299 | static int |
| 8299 | bltincmd(int argc, char **argv) | 8300 | bltincmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 8300 | { | 8301 | { |
| 8301 | /* Preserve exitstatus of a previous possible redirection | 8302 | /* Preserve exitstatus of a previous possible redirection |
| 8302 | * as POSIX mandates */ | 8303 | * as POSIX mandates */ |
| @@ -8466,7 +8467,7 @@ evalcommand(union node *cmd, int flags) | |||
| 8466 | /* Fork off a child process if necessary. */ | 8467 | /* Fork off a child process if necessary. */ |
| 8467 | if (!(flags & EV_EXIT) || trap[0]) { | 8468 | if (!(flags & EV_EXIT) || trap[0]) { |
| 8468 | INT_OFF; | 8469 | INT_OFF; |
| 8469 | jp = makejob(cmd, 1); | 8470 | jp = makejob(/*cmd,*/ 1); |
| 8470 | if (forkshell(jp, cmd, FORK_FG) != 0) { | 8471 | if (forkshell(jp, cmd, FORK_FG) != 0) { |
| 8471 | exitstatus = waitforjob(jp); | 8472 | exitstatus = waitforjob(jp); |
| 8472 | INT_ON; | 8473 | INT_ON; |
| @@ -8596,9 +8597,9 @@ prehash(union node *n) | |||
| 8596 | * in the standard shell so we don't make it one here. | 8597 | * in the standard shell so we don't make it one here. |
| 8597 | */ | 8598 | */ |
| 8598 | static int | 8599 | static int |
| 8599 | breakcmd(int argc, char **argv) | 8600 | breakcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 8600 | { | 8601 | { |
| 8601 | int n = argc > 1 ? number(argv[1]) : 1; | 8602 | int n = argv[1] ? number(argv[1]) : 1; |
| 8602 | 8603 | ||
| 8603 | if (n <= 0) | 8604 | if (n <= 0) |
| 8604 | ash_msg_and_raise_error(illnum, argv[1]); | 8605 | ash_msg_and_raise_error(illnum, argv[1]); |
| @@ -9095,7 +9096,7 @@ chkmail(void) | |||
| 9095 | } | 9096 | } |
| 9096 | 9097 | ||
| 9097 | static void | 9098 | static void |
| 9098 | changemail(const char *val) | 9099 | changemail(const char *val ATTRIBUTE_UNUSED) |
| 9099 | { | 9100 | { |
| 9100 | mail_var_path_changed = 1; | 9101 | mail_var_path_changed = 1; |
| 9101 | } | 9102 | } |
| @@ -9247,13 +9248,13 @@ options(int cmdline) | |||
| 9247 | * The shift builtin command. | 9248 | * The shift builtin command. |
| 9248 | */ | 9249 | */ |
| 9249 | static int | 9250 | static int |
| 9250 | shiftcmd(int argc, char **argv) | 9251 | shiftcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 9251 | { | 9252 | { |
| 9252 | int n; | 9253 | int n; |
| 9253 | char **ap1, **ap2; | 9254 | char **ap1, **ap2; |
| 9254 | 9255 | ||
| 9255 | n = 1; | 9256 | n = 1; |
| 9256 | if (argc > 1) | 9257 | if (argv[1]) |
| 9257 | n = number(argv[1]); | 9258 | n = number(argv[1]); |
| 9258 | if (n > shellparam.nparam) | 9259 | if (n > shellparam.nparam) |
| 9259 | ash_msg_and_raise_error("can't shift that many"); | 9260 | ash_msg_and_raise_error("can't shift that many"); |
| @@ -9308,11 +9309,11 @@ showvars(const char *sep_prefix, int on, int off) | |||
| 9308 | * The set command builtin. | 9309 | * The set command builtin. |
| 9309 | */ | 9310 | */ |
| 9310 | static int | 9311 | static int |
| 9311 | setcmd(int argc, char **argv) | 9312 | setcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 9312 | { | 9313 | { |
| 9313 | int retval; | 9314 | int retval; |
| 9314 | 9315 | ||
| 9315 | if (argc == 1) | 9316 | if (!argv[1]) |
| 9316 | return showvars(nullstr, 0, VUNSET); | 9317 | return showvars(nullstr, 0, VUNSET); |
| 9317 | INT_OFF; | 9318 | INT_OFF; |
| 9318 | retval = 1; | 9319 | retval = 1; |
| @@ -11015,20 +11016,19 @@ evalstring(char *s, int mask) | |||
| 11015 | * The eval command. | 11016 | * The eval command. |
| 11016 | */ | 11017 | */ |
| 11017 | static int | 11018 | static int |
| 11018 | evalcmd(int argc, char **argv) | 11019 | evalcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 11019 | { | 11020 | { |
| 11020 | char *p; | 11021 | char *p; |
| 11021 | char *concat; | 11022 | char *concat; |
| 11022 | char **ap; | ||
| 11023 | 11023 | ||
| 11024 | if (argc > 1) { | 11024 | if (argv[1]) { |
| 11025 | p = argv[1]; | 11025 | p = argv[1]; |
| 11026 | if (argc > 2) { | 11026 | argv += 2; |
| 11027 | if (argv[0]) { | ||
| 11027 | STARTSTACKSTR(concat); | 11028 | STARTSTACKSTR(concat); |
| 11028 | ap = argv + 2; | ||
| 11029 | for (;;) { | 11029 | for (;;) { |
| 11030 | concat = stack_putstr(p, concat); | 11030 | concat = stack_putstr(p, concat); |
| 11031 | p = *ap++; | 11031 | p = *argv++; |
| 11032 | if (p == NULL) | 11032 | if (p == NULL) |
| 11033 | break; | 11033 | break; |
| 11034 | STPUTC(' ', concat); | 11034 | STPUTC(' ', concat); |
| @@ -11139,16 +11139,15 @@ dotcmd(int argc, char **argv) | |||
| 11139 | for (sp = cmdenviron; sp; sp = sp->next) | 11139 | for (sp = cmdenviron; sp; sp = sp->next) |
| 11140 | setvareq(ckstrdup(sp->text), VSTRFIXED | VTEXTFIXED); | 11140 | setvareq(ckstrdup(sp->text), VSTRFIXED | VTEXTFIXED); |
| 11141 | 11141 | ||
| 11142 | if (argc >= 2) { /* That's what SVR2 does */ | 11142 | if (argv[1]) { /* That's what SVR2 does */ |
| 11143 | char *fullname; | 11143 | char *fullname = find_dot_file(argv[1]); |
| 11144 | 11144 | argv += 2; | |
| 11145 | fullname = find_dot_file(argv[1]); | 11145 | argc -= 2; |
| 11146 | 11146 | if (argc) { /* argc > 0, argv[0] != NULL */ | |
| 11147 | if (argc > 2) { | ||
| 11148 | saveparam = shellparam; | 11147 | saveparam = shellparam; |
| 11149 | shellparam.malloced = 0; | 11148 | shellparam.malloced = 0; |
| 11150 | shellparam.nparam = argc - 2; | 11149 | shellparam.nparam = argc; |
| 11151 | shellparam.p = argv + 2; | 11150 | shellparam.p = argv; |
| 11152 | }; | 11151 | }; |
| 11153 | 11152 | ||
| 11154 | setinputfile(fullname, INPUT_PUSH_FILE); | 11153 | setinputfile(fullname, INPUT_PUSH_FILE); |
| @@ -11156,7 +11155,7 @@ dotcmd(int argc, char **argv) | |||
| 11156 | cmdloop(0); | 11155 | cmdloop(0); |
| 11157 | popfile(); | 11156 | popfile(); |
| 11158 | 11157 | ||
| 11159 | if (argc > 2) { | 11158 | if (argc) { |
| 11160 | freeparam(&shellparam); | 11159 | freeparam(&shellparam); |
| 11161 | shellparam = saveparam; | 11160 | shellparam = saveparam; |
| 11162 | }; | 11161 | }; |
| @@ -11166,11 +11165,11 @@ dotcmd(int argc, char **argv) | |||
| 11166 | } | 11165 | } |
| 11167 | 11166 | ||
| 11168 | static int | 11167 | static int |
| 11169 | exitcmd(int argc, char **argv) | 11168 | exitcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 11170 | { | 11169 | { |
| 11171 | if (stoppedjobs()) | 11170 | if (stoppedjobs()) |
| 11172 | return 0; | 11171 | return 0; |
| 11173 | if (argc > 1) | 11172 | if (argv[1]) |
| 11174 | exitstatus = number(argv[1]); | 11173 | exitstatus = number(argv[1]); |
| 11175 | raise_exception(EXEXIT); | 11174 | raise_exception(EXEXIT); |
| 11176 | /* NOTREACHED */ | 11175 | /* NOTREACHED */ |
| @@ -11404,7 +11403,7 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path) | |||
| 11404 | * The trap builtin. | 11403 | * The trap builtin. |
| 11405 | */ | 11404 | */ |
| 11406 | static int | 11405 | static int |
| 11407 | trapcmd(int argc, char **argv) | 11406 | trapcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 11408 | { | 11407 | { |
| 11409 | char *action; | 11408 | char *action; |
| 11410 | char **ap; | 11409 | char **ap; |
| @@ -11457,7 +11456,7 @@ trapcmd(int argc, char **argv) | |||
| 11457 | * Lists available builtins | 11456 | * Lists available builtins |
| 11458 | */ | 11457 | */ |
| 11459 | static int | 11458 | static int |
| 11460 | helpcmd(int argc, char **argv) | 11459 | helpcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 11461 | { | 11460 | { |
| 11462 | int col, i; | 11461 | int col, i; |
| 11463 | 11462 | ||
| @@ -11492,7 +11491,7 @@ helpcmd(int argc, char **argv) | |||
| 11492 | * The export and readonly commands. | 11491 | * The export and readonly commands. |
| 11493 | */ | 11492 | */ |
| 11494 | static int | 11493 | static int |
| 11495 | exportcmd(int argc, char **argv) | 11494 | exportcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 11496 | { | 11495 | { |
| 11497 | struct var *vp; | 11496 | struct var *vp; |
| 11498 | char *name; | 11497 | char *name; |
| @@ -11543,7 +11542,7 @@ unsetfunc(const char *name) | |||
| 11543 | * with the same name. | 11542 | * with the same name. |
| 11544 | */ | 11543 | */ |
| 11545 | static int | 11544 | static int |
| 11546 | unsetcmd(int argc, char **argv) | 11545 | unsetcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 11547 | { | 11546 | { |
| 11548 | char **ap; | 11547 | char **ap; |
| 11549 | int i; | 11548 | int i; |
| @@ -11581,7 +11580,7 @@ static const unsigned char timescmd_str[] ALIGN1 = { | |||
| 11581 | }; | 11580 | }; |
| 11582 | 11581 | ||
| 11583 | static int | 11582 | static int |
| 11584 | timescmd(int ac, char **av) | 11583 | timescmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 11585 | { | 11584 | { |
| 11586 | long clk_tck, s, t; | 11585 | long clk_tck, s, t; |
| 11587 | const unsigned char *p; | 11586 | const unsigned char *p; |
| @@ -11633,17 +11632,16 @@ dash_arith(const char *s) | |||
| 11633 | * Copyright (C) 2003 Vladimir Oleynik <dzo@simtreas.ru> | 11632 | * Copyright (C) 2003 Vladimir Oleynik <dzo@simtreas.ru> |
| 11634 | */ | 11633 | */ |
| 11635 | static int | 11634 | static int |
| 11636 | letcmd(int argc, char **argv) | 11635 | letcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 11637 | { | 11636 | { |
| 11638 | char **ap; | 11637 | arith_t i; |
| 11639 | arith_t i = 0; | ||
| 11640 | 11638 | ||
| 11641 | ap = argv + 1; | 11639 | argv++; |
| 11642 | if (!*ap) | 11640 | if (!*argv) |
| 11643 | ash_msg_and_raise_error("expression expected"); | 11641 | ash_msg_and_raise_error("expression expected"); |
| 11644 | for (ap = argv + 1; *ap; ap++) { | 11642 | do { |
| 11645 | i = dash_arith(*ap); | 11643 | i = dash_arith(*argv); |
| 11646 | } | 11644 | } while (*++argv); |
| 11647 | 11645 | ||
| 11648 | return !i; | 11646 | return !i; |
| 11649 | } | 11647 | } |
| @@ -11668,7 +11666,7 @@ typedef enum __rlimit_resource rlim_t; | |||
| 11668 | * This uses unbuffered input, which may be avoidable in some cases. | 11666 | * This uses unbuffered input, which may be avoidable in some cases. |
| 11669 | */ | 11667 | */ |
| 11670 | static int | 11668 | static int |
| 11671 | readcmd(int argc, char **argv) | 11669 | readcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 11672 | { | 11670 | { |
| 11673 | char **ap; | 11671 | char **ap; |
| 11674 | int backslash; | 11672 | int backslash; |
| @@ -11859,7 +11857,7 @@ readcmd(int argc, char **argv) | |||
| 11859 | } | 11857 | } |
| 11860 | 11858 | ||
| 11861 | static int | 11859 | static int |
| 11862 | umaskcmd(int argc, char **argv) | 11860 | umaskcmd(int argc ATTRIBUTE_UNUSED, char **argv) |
| 11863 | { | 11861 | { |
| 11864 | static const char permuser[3] ALIGN1 = "ugo"; | 11862 | static const char permuser[3] ALIGN1 = "ugo"; |
| 11865 | static const char permmode[3] ALIGN1 = "rwx"; | 11863 | static const char permmode[3] ALIGN1 = "rwx"; |
| @@ -12034,7 +12032,7 @@ printlim(enum limtype how, const struct rlimit *limit, | |||
| 12034 | } | 12032 | } |
| 12035 | 12033 | ||
| 12036 | static int | 12034 | static int |
| 12037 | ulimitcmd(int argc, char **argv) | 12035 | ulimitcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) |
| 12038 | { | 12036 | { |
| 12039 | int c; | 12037 | int c; |
| 12040 | rlim_t val = 0; | 12038 | rlim_t val = 0; |
| @@ -12868,7 +12866,7 @@ init(void) | |||
| 12868 | * Process the shell command line arguments. | 12866 | * Process the shell command line arguments. |
| 12869 | */ | 12867 | */ |
| 12870 | static void | 12868 | static void |
| 12871 | procargs(int argc, char **argv) | 12869 | procargs(char **argv) |
| 12872 | { | 12870 | { |
| 12873 | int i; | 12871 | int i; |
| 12874 | const char *xminusc; | 12872 | const char *xminusc; |
| @@ -12876,7 +12874,7 @@ procargs(int argc, char **argv) | |||
| 12876 | 12874 | ||
| 12877 | xargv = argv; | 12875 | xargv = argv; |
| 12878 | arg0 = xargv[0]; | 12876 | arg0 = xargv[0]; |
| 12879 | if (argc > 0) | 12877 | /* if (xargv[0]) - mmm, this is always true! */ |
| 12880 | xargv++; | 12878 | xargv++; |
| 12881 | for (i = 0; i < NOPTS; i++) | 12879 | for (i = 0; i < NOPTS; i++) |
| 12882 | optlist[i] = 2; | 12880 | optlist[i] = 2; |
| @@ -12976,7 +12974,7 @@ extern int etext(); | |||
| 12976 | * is used to figure out how far we had gotten. | 12974 | * is used to figure out how far we had gotten. |
| 12977 | */ | 12975 | */ |
| 12978 | int ash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 12976 | int ash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
| 12979 | int ash_main(int argc, char **argv) | 12977 | int ash_main(int argc ATTRIBUTE_UNUSED, char **argv) |
| 12980 | { | 12978 | { |
| 12981 | char *shinit; | 12979 | char *shinit; |
| 12982 | volatile int state; | 12980 | volatile int state; |
| @@ -13039,7 +13037,8 @@ int ash_main(int argc, char **argv) | |||
| 13039 | #endif | 13037 | #endif |
| 13040 | init(); | 13038 | init(); |
| 13041 | setstackmark(&smark); | 13039 | setstackmark(&smark); |
| 13042 | procargs(argc, argv); | 13040 | procargs(argv); |
| 13041 | |||
| 13043 | #if ENABLE_FEATURE_EDITING_SAVEHISTORY | 13042 | #if ENABLE_FEATURE_EDITING_SAVEHISTORY |
| 13044 | if (iflag) { | 13043 | if (iflag) { |
| 13045 | const char *hp = lookupvar("HISTFILE"); | 13044 | const char *hp = lookupvar("HISTFILE"); |
diff --git a/shell/hush.c b/shell/hush.c index c61607dd3..2d5697269 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
| @@ -536,11 +536,13 @@ static int done_pipe(struct p_context *ctx, pipe_style type); | |||
| 536 | static int redirect_dup_num(struct in_str *input); | 536 | static int redirect_dup_num(struct in_str *input); |
| 537 | static int redirect_opt_num(o_string *o); | 537 | static int redirect_opt_num(o_string *o); |
| 538 | #if ENABLE_HUSH_TICK | 538 | #if ENABLE_HUSH_TICK |
| 539 | static int process_command_subs(o_string *dest, struct p_context *ctx, struct in_str *input, const char *subst_end); | 539 | static int process_command_subs(o_string *dest, /*struct p_context *ctx,*/ |
| 540 | struct in_str *input, const char *subst_end); | ||
| 540 | #endif | 541 | #endif |
| 541 | static int parse_group(o_string *dest, struct p_context *ctx, struct in_str *input, int ch); | 542 | static int parse_group(o_string *dest, struct p_context *ctx, struct in_str *input, int ch); |
| 542 | static const char *lookup_param(const char *src); | 543 | static const char *lookup_param(const char *src); |
| 543 | static int handle_dollar(o_string *dest, struct p_context *ctx, struct in_str *input); | 544 | static int handle_dollar(o_string *dest, /*struct p_context *ctx,*/ |
| 545 | struct in_str *input); | ||
| 544 | static int parse_stream(o_string *dest, struct p_context *ctx, struct in_str *input0, const char *end_trigger); | 546 | static int parse_stream(o_string *dest, struct p_context *ctx, struct in_str *input0, const char *end_trigger); |
| 545 | /* setup: */ | 547 | /* setup: */ |
| 546 | static int parse_and_run_stream(struct in_str *inp, int parse_flag); | 548 | static int parse_and_run_stream(struct in_str *inp, int parse_flag); |
| @@ -741,14 +743,14 @@ static void set_every_sighandler(void (*handler)(int)) | |||
| 741 | signal(SIGCHLD, handler); | 743 | signal(SIGCHLD, handler); |
| 742 | } | 744 | } |
| 743 | 745 | ||
| 744 | static void handler_ctrl_c(int sig) | 746 | static void handler_ctrl_c(int sig ATTRIBUTE_UNUSED) |
| 745 | { | 747 | { |
| 746 | debug_printf_jobs("got sig %d\n", sig); | 748 | debug_printf_jobs("got sig %d\n", sig); |
| 747 | // as usual we can have all kinds of nasty problems with leaked malloc data here | 749 | // as usual we can have all kinds of nasty problems with leaked malloc data here |
| 748 | siglongjmp(toplevel_jb, 1); | 750 | siglongjmp(toplevel_jb, 1); |
| 749 | } | 751 | } |
| 750 | 752 | ||
| 751 | static void handler_ctrl_z(int sig) | 753 | static void handler_ctrl_z(int sig ATTRIBUTE_UNUSED) |
| 752 | { | 754 | { |
| 753 | pid_t pid; | 755 | pid_t pid; |
| 754 | 756 | ||
| @@ -3257,8 +3259,10 @@ static FILE *generate_stream_from_list(struct pipe *head) | |||
| 3257 | } | 3259 | } |
| 3258 | 3260 | ||
| 3259 | /* Return code is exit status of the process that is run. */ | 3261 | /* Return code is exit status of the process that is run. */ |
| 3260 | static int process_command_subs(o_string *dest, struct p_context *ctx, | 3262 | static int process_command_subs(o_string *dest, |
| 3261 | struct in_str *input, const char *subst_end) | 3263 | /*struct p_context *ctx,*/ |
| 3264 | struct in_str *input, | ||
| 3265 | const char *subst_end) | ||
| 3262 | { | 3266 | { |
| 3263 | int retcode, ch, eol_cnt; | 3267 | int retcode, ch, eol_cnt; |
| 3264 | o_string result = NULL_O_STRING; | 3268 | o_string result = NULL_O_STRING; |
| @@ -3351,7 +3355,7 @@ static const char *lookup_param(const char *src) | |||
| 3351 | } | 3355 | } |
| 3352 | 3356 | ||
| 3353 | /* return code: 0 for OK, 1 for syntax error */ | 3357 | /* return code: 0 for OK, 1 for syntax error */ |
| 3354 | static int handle_dollar(o_string *dest, struct p_context *ctx, struct in_str *input) | 3358 | static int handle_dollar(o_string *dest, /*struct p_context *ctx,*/ struct in_str *input) |
| 3355 | { | 3359 | { |
| 3356 | int ch = b_peek(input); /* first character after the $ */ | 3360 | int ch = b_peek(input); /* first character after the $ */ |
| 3357 | unsigned char quote_mask = dest->o_quote ? 0x80 : 0; | 3361 | unsigned char quote_mask = dest->o_quote ? 0x80 : 0; |
| @@ -3409,7 +3413,7 @@ static int handle_dollar(o_string *dest, struct p_context *ctx, struct in_str *i | |||
| 3409 | #if ENABLE_HUSH_TICK | 3413 | #if ENABLE_HUSH_TICK |
| 3410 | case '(': | 3414 | case '(': |
| 3411 | b_getch(input); | 3415 | b_getch(input); |
| 3412 | process_command_subs(dest, ctx, input, ")"); | 3416 | process_command_subs(dest, /*ctx,*/ input, ")"); |
| 3413 | break; | 3417 | break; |
| 3414 | #endif | 3418 | #endif |
| 3415 | case '-': | 3419 | case '-': |
| @@ -3507,7 +3511,7 @@ static int parse_stream(o_string *dest, struct p_context *ctx, | |||
| 3507 | b_addqchr(dest, b_getch(input), dest->o_quote); | 3511 | b_addqchr(dest, b_getch(input), dest->o_quote); |
| 3508 | break; | 3512 | break; |
| 3509 | case '$': | 3513 | case '$': |
| 3510 | if (handle_dollar(dest, ctx, input) != 0) { | 3514 | if (handle_dollar(dest, /*ctx,*/ input) != 0) { |
| 3511 | debug_printf_parse("parse_stream return 1: handle_dollar returned non-0\n"); | 3515 | debug_printf_parse("parse_stream return 1: handle_dollar returned non-0\n"); |
| 3512 | return 1; | 3516 | return 1; |
| 3513 | } | 3517 | } |
| @@ -3532,7 +3536,7 @@ static int parse_stream(o_string *dest, struct p_context *ctx, | |||
| 3532 | break; | 3536 | break; |
| 3533 | #if ENABLE_HUSH_TICK | 3537 | #if ENABLE_HUSH_TICK |
| 3534 | case '`': | 3538 | case '`': |
| 3535 | process_command_subs(dest, ctx, input, "`"); | 3539 | process_command_subs(dest, /*ctx,*/ input, "`"); |
| 3536 | break; | 3540 | break; |
| 3537 | #endif | 3541 | #endif |
| 3538 | case '>': | 3542 | case '>': |
diff --git a/shell/msh.c b/shell/msh.c index 5ed6dfd1d..63f365962 100644 --- a/shell/msh.c +++ b/shell/msh.c | |||
| @@ -589,7 +589,7 @@ static const struct builtincmd builtincmds[] = { | |||
| 589 | }; | 589 | }; |
| 590 | 590 | ||
| 591 | static struct op *scantree(struct op *); | 591 | static struct op *scantree(struct op *); |
| 592 | static struct op *dowholefile(int, int); | 592 | static struct op *dowholefile(int /*, int*/); |
| 593 | 593 | ||
| 594 | 594 | ||
| 595 | /* Globals */ | 595 | /* Globals */ |
| @@ -1448,7 +1448,7 @@ static void next(int f) | |||
| 1448 | PUSHIO(afile, f, filechar); | 1448 | PUSHIO(afile, f, filechar); |
| 1449 | } | 1449 | } |
| 1450 | 1450 | ||
| 1451 | static void onintr(int s) /* ANSI C requires a parameter */ | 1451 | static void onintr(int s ATTRIBUTE_UNUSED) /* ANSI C requires a parameter */ |
| 1452 | { | 1452 | { |
| 1453 | signal(SIGINT, onintr); | 1453 | signal(SIGINT, onintr); |
| 1454 | intr = 1; | 1454 | intr = 1; |
| @@ -1864,11 +1864,11 @@ static struct op *command(int cf) | |||
| 1864 | return t; | 1864 | return t; |
| 1865 | } | 1865 | } |
| 1866 | 1866 | ||
| 1867 | static struct op *dowholefile(int type, int mark) | 1867 | static struct op *dowholefile(int type /*, int mark*/) |
| 1868 | { | 1868 | { |
| 1869 | struct op *t; | 1869 | struct op *t; |
| 1870 | 1870 | ||
| 1871 | DBGPRINTF(("DOWHOLEFILE: enter, type=%d, mark=%d\n", type, mark)); | 1871 | DBGPRINTF(("DOWHOLEFILE: enter, type=%d\n", type /*, mark*/)); |
| 1872 | 1872 | ||
| 1873 | multiline++; | 1873 | multiline++; |
| 1874 | t = c_list(); | 1874 | t = c_list(); |
| @@ -2477,7 +2477,7 @@ static int execute(struct op *t, int *pin, int *pout, int no_fork) | |||
| 2477 | 2477 | ||
| 2478 | newfile(evalstr(t->op_words[0], DOALL)); | 2478 | newfile(evalstr(t->op_words[0], DOALL)); |
| 2479 | 2479 | ||
| 2480 | t->left = dowholefile(TLIST, 0); | 2480 | t->left = dowholefile(TLIST /*, 0*/); |
| 2481 | t->right = NULL; | 2481 | t->right = NULL; |
| 2482 | 2482 | ||
| 2483 | outtree = outtree_save; | 2483 | outtree = outtree_save; |
| @@ -3155,7 +3155,7 @@ static int run(struct ioarg *argp, int (*f) (struct ioarg *)) | |||
| 3155 | * built-in commands: doX | 3155 | * built-in commands: doX |
| 3156 | */ | 3156 | */ |
| 3157 | 3157 | ||
| 3158 | static int dohelp(struct op *t, char **args) | 3158 | static int dohelp(struct op *t ATTRIBUTE_UNUSED, char **args ATTRIBUTE_UNUSED) |
| 3159 | { | 3159 | { |
| 3160 | int col; | 3160 | int col; |
| 3161 | const struct builtincmd *x; | 3161 | const struct builtincmd *x; |
| @@ -3191,12 +3191,12 @@ static int dohelp(struct op *t, char **args) | |||
| 3191 | return EXIT_SUCCESS; | 3191 | return EXIT_SUCCESS; |
| 3192 | } | 3192 | } |
| 3193 | 3193 | ||
| 3194 | static int dolabel(struct op *t, char **args) | 3194 | static int dolabel(struct op *t ATTRIBUTE_UNUSED, char **args ATTRIBUTE_UNUSED) |
| 3195 | { | 3195 | { |
| 3196 | return 0; | 3196 | return 0; |
| 3197 | } | 3197 | } |
| 3198 | 3198 | ||
| 3199 | static int dochdir(struct op *t, char **args) | 3199 | static int dochdir(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3200 | { | 3200 | { |
| 3201 | const char *cp, *er; | 3201 | const char *cp, *er; |
| 3202 | 3202 | ||
| @@ -3217,7 +3217,7 @@ static int dochdir(struct op *t, char **args) | |||
| 3217 | return 1; | 3217 | return 1; |
| 3218 | } | 3218 | } |
| 3219 | 3219 | ||
| 3220 | static int doshift(struct op *t, char **args) | 3220 | static int doshift(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3221 | { | 3221 | { |
| 3222 | int n; | 3222 | int n; |
| 3223 | 3223 | ||
| @@ -3236,7 +3236,7 @@ static int doshift(struct op *t, char **args) | |||
| 3236 | /* | 3236 | /* |
| 3237 | * execute login and newgrp directly | 3237 | * execute login and newgrp directly |
| 3238 | */ | 3238 | */ |
| 3239 | static int dologin(struct op *t, char **args) | 3239 | static int dologin(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3240 | { | 3240 | { |
| 3241 | const char *cp; | 3241 | const char *cp; |
| 3242 | 3242 | ||
| @@ -3251,7 +3251,7 @@ static int dologin(struct op *t, char **args) | |||
| 3251 | return 1; | 3251 | return 1; |
| 3252 | } | 3252 | } |
| 3253 | 3253 | ||
| 3254 | static int doumask(struct op *t, char **args) | 3254 | static int doumask(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3255 | { | 3255 | { |
| 3256 | int i; | 3256 | int i; |
| 3257 | char *cp; | 3257 | char *cp; |
| @@ -3301,7 +3301,7 @@ static int doexec(struct op *t, char **args) | |||
| 3301 | return 1; | 3301 | return 1; |
| 3302 | } | 3302 | } |
| 3303 | 3303 | ||
| 3304 | static int dodot(struct op *t, char **args) | 3304 | static int dodot(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3305 | { | 3305 | { |
| 3306 | int i; | 3306 | int i; |
| 3307 | const char *sp; | 3307 | const char *sp; |
| @@ -3355,7 +3355,7 @@ static int dodot(struct op *t, char **args) | |||
| 3355 | return -1; | 3355 | return -1; |
| 3356 | } | 3356 | } |
| 3357 | 3357 | ||
| 3358 | static int dowait(struct op *t, char **args) | 3358 | static int dowait(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3359 | { | 3359 | { |
| 3360 | int i; | 3360 | int i; |
| 3361 | char *cp; | 3361 | char *cp; |
| @@ -3371,7 +3371,7 @@ static int dowait(struct op *t, char **args) | |||
| 3371 | return 0; | 3371 | return 0; |
| 3372 | } | 3372 | } |
| 3373 | 3373 | ||
| 3374 | static int doread(struct op *t, char **args) | 3374 | static int doread(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3375 | { | 3375 | { |
| 3376 | char *cp, **wp; | 3376 | char *cp, **wp; |
| 3377 | int nb = 0; | 3377 | int nb = 0; |
| @@ -3398,12 +3398,12 @@ static int doread(struct op *t, char **args) | |||
| 3398 | return nb <= 0; | 3398 | return nb <= 0; |
| 3399 | } | 3399 | } |
| 3400 | 3400 | ||
| 3401 | static int doeval(struct op *t, char **args) | 3401 | static int doeval(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3402 | { | 3402 | { |
| 3403 | return RUN(awordlist, args + 1, wdchar); | 3403 | return RUN(awordlist, args + 1, wdchar); |
| 3404 | } | 3404 | } |
| 3405 | 3405 | ||
| 3406 | static int dotrap(struct op *t, char **args) | 3406 | static int dotrap(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3407 | { | 3407 | { |
| 3408 | int n, i; | 3408 | int n, i; |
| 3409 | int resetsig; | 3409 | int resetsig; |
| @@ -3484,12 +3484,12 @@ static int getn(char *as) | |||
| 3484 | return n * m; | 3484 | return n * m; |
| 3485 | } | 3485 | } |
| 3486 | 3486 | ||
| 3487 | static int dobreak(struct op *t, char **args) | 3487 | static int dobreak(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3488 | { | 3488 | { |
| 3489 | return brkcontin(args[1], 1); | 3489 | return brkcontin(args[1], 1); |
| 3490 | } | 3490 | } |
| 3491 | 3491 | ||
| 3492 | static int docontinue(struct op *t, char **args) | 3492 | static int docontinue(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3493 | { | 3493 | { |
| 3494 | return brkcontin(args[1], 0); | 3494 | return brkcontin(args[1], 0); |
| 3495 | } | 3495 | } |
| @@ -3517,7 +3517,7 @@ static int brkcontin(char *cp, int val) | |||
| 3517 | /* NOTREACHED */ | 3517 | /* NOTREACHED */ |
| 3518 | } | 3518 | } |
| 3519 | 3519 | ||
| 3520 | static int doexit(struct op *t, char **args) | 3520 | static int doexit(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3521 | { | 3521 | { |
| 3522 | char *cp; | 3522 | char *cp; |
| 3523 | 3523 | ||
| @@ -3533,13 +3533,13 @@ static int doexit(struct op *t, char **args) | |||
| 3533 | return 0; | 3533 | return 0; |
| 3534 | } | 3534 | } |
| 3535 | 3535 | ||
| 3536 | static int doexport(struct op *t, char **args) | 3536 | static int doexport(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3537 | { | 3537 | { |
| 3538 | rdexp(args + 1, export, EXPORT); | 3538 | rdexp(args + 1, export, EXPORT); |
| 3539 | return 0; | 3539 | return 0; |
| 3540 | } | 3540 | } |
| 3541 | 3541 | ||
| 3542 | static int doreadonly(struct op *t, char **args) | 3542 | static int doreadonly(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3543 | { | 3543 | { |
| 3544 | rdexp(args + 1, ronly, RONLY); | 3544 | rdexp(args + 1, ronly, RONLY); |
| 3545 | return 0; | 3545 | return 0; |
| @@ -3575,7 +3575,7 @@ static void badid(char *s) | |||
| 3575 | err(": bad identifier"); | 3575 | err(": bad identifier"); |
| 3576 | } | 3576 | } |
| 3577 | 3577 | ||
| 3578 | static int doset(struct op *t, char **args) | 3578 | static int doset(struct op *t ATTRIBUTE_UNUSED, char **args) |
| 3579 | { | 3579 | { |
| 3580 | struct var *vp; | 3580 | struct var *vp; |
| 3581 | char *cp; | 3581 | char *cp; |
| @@ -3650,7 +3650,7 @@ static void times_fmt(char *buf, clock_t val, unsigned clk_tck) | |||
| 3650 | #endif | 3650 | #endif |
| 3651 | } | 3651 | } |
| 3652 | 3652 | ||
| 3653 | static int dotimes(struct op *t, char **args) | 3653 | static int dotimes(struct op *t ATTRIBUTE_UNUSED, char **args ATTRIBUTE_UNUSED) |
| 3654 | { | 3654 | { |
| 3655 | struct tms buf; | 3655 | struct tms buf; |
| 3656 | unsigned clk_tck = sysconf(_SC_CLK_TCK); | 3656 | unsigned clk_tck = sysconf(_SC_CLK_TCK); |
