*: 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
diff --git a/shell/ash.c b/shell/ash.c
index 0699091..580918c 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -2472,7 +2472,7 @@
}
static int
-cdcmd(int argc, char **argv)
+cdcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
const char *dest;
const char *path;
@@ -2536,7 +2536,7 @@
}
static int
-pwdcmd(int argc, char **argv)
+pwdcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
int flags;
const char *dir = curdir;
@@ -3138,19 +3138,20 @@
* TODO - sort output
*/
static int
-aliascmd(int argc, char **argv)
+aliascmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
char *n, *v;
int ret = 0;
struct alias *ap;
- if (argc == 1) {
+ if (!argv[1]) {
int i;
- for (i = 0; i < ATABSIZE; i++)
+ for (i = 0; i < ATABSIZE; i++) {
for (ap = atab[i]; ap; ap = ap->next) {
printalias(ap);
}
+ }
return 0;
}
while ((n = *++argv) != NULL) {
@@ -3172,7 +3173,7 @@
}
static int
-unaliascmd(int argc, char **argv)
+unaliascmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
int i;
@@ -3245,7 +3246,7 @@
static pid_t backgndpid; /* pid of last background process */
static smallint job_warning; /* user was warned about stopped jobs (can be 2, 1 or 0). */
-static struct job *makejob(union node *, int);
+static struct job *makejob(/*union node *,*/ int);
static int forkshell(struct job *, union node *, int);
static int waitforjob(struct job *);
@@ -3612,8 +3613,8 @@
static int
killcmd(int argc, char **argv)
{
+ int i = 1;
if (argv[1] && strcmp(argv[1], "-l") != 0) {
- int i = 1;
do {
if (argv[i][0] == '%') {
struct job *jp = getjob(argv[i], 0);
@@ -3675,7 +3676,7 @@
}
static int
-fg_bgcmd(int argc, char **argv)
+fg_bgcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
struct job *jp;
FILE *out;
@@ -3962,7 +3963,7 @@
}
static int
-jobscmd(int argc, char **argv)
+jobscmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
int mode, m;
@@ -4015,7 +4016,7 @@
}
static int
-waitcmd(int argc, char **argv)
+waitcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
struct job *job;
int retval;
@@ -4121,7 +4122,7 @@
* Called with interrupts off.
*/
static struct job *
-makejob(union node *node, int nprocs)
+makejob(/*union node *node,*/ int nprocs)
{
int i;
struct job *jp;
@@ -4156,7 +4157,7 @@
if (nprocs > 1) {
jp->ps = ckmalloc(nprocs * sizeof(struct procstat));
}
- TRACE(("makejob(0x%lx, %d) returns %%%d\n", (long)node, nprocs,
+ TRACE(("makejob(%d) returns %%%d\n", nprocs,
jobno(jp)));
return jp;
}
@@ -4484,7 +4485,7 @@
/* Called after fork(), in child */
static void
-forkchild(struct job *jp, union node *n, int mode)
+forkchild(struct job *jp, /*union node *n,*/ int mode)
{
int oldlvl;
@@ -4584,7 +4585,7 @@
ash_msg_and_raise_error("cannot fork");
}
if (pid == 0)
- forkchild(jp, n, mode);
+ forkchild(jp, /*n,*/ mode);
else
forkparent(jp, n, mode, pid);
return pid;
@@ -5371,7 +5372,7 @@
if (pipe(pip) < 0)
ash_msg_and_raise_error("pipe call failed");
- jp = makejob(n, 1);
+ jp = makejob(/*n,*/ 1);
if (forkshell(jp, n, FORK_NOJOB) == 0) {
FORCE_INT_ON;
close(pip[0]);
@@ -5668,7 +5669,7 @@
}
static char *
-scanleft(char *startp, char *rmesc, char *rmescend, char *str, int quotes,
+scanleft(char *startp, char *rmesc, char *rmescend ATTRIBUTE_UNUSED, char *str, int quotes,
int zero)
{
char *loc;
@@ -6407,7 +6408,7 @@
}
static void
-expandmeta(struct strlist *str, int flag)
+expandmeta(struct strlist *str /*, int flag*/)
{
static const char metachars[] ALIGN1 = {
'*', '?', '[', 0
@@ -6488,7 +6489,7 @@
ifsbreakup(p, &exparg);
*exparg.lastp = NULL;
exparg.lastp = &exparg.list;
- expandmeta(exparg.list, flag);
+ expandmeta(exparg.list /*, flag*/);
} else {
if (flag & EXP_REDIR) /*XXX - for now, just remove escapes */
rmescapes(p);
@@ -6838,7 +6839,7 @@
}
static int
-hashcmd(int argc, char **argv)
+hashcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
struct tblentry **pp;
struct tblentry *cmdp;
@@ -7139,7 +7140,7 @@
}
static int
-typecmd(int argc, char **argv)
+typecmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
int i = 1;
int err = 0;
@@ -7150,7 +7151,7 @@
i++;
verbose = 0;
}
- while (i < argc) {
+ while (argv[i]) {
err |= describe_command(argv[i++], verbose);
}
return err;
@@ -7158,7 +7159,7 @@
#if ENABLE_ASH_CMDCMD
static int
-commandcmd(int argc, char **argv)
+commandcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
int c;
enum {
@@ -7768,7 +7769,7 @@
if (!backgnd && flags & EV_EXIT && !trap[0])
goto nofork;
INT_OFF;
- jp = makejob(n, 1);
+ jp = makejob(/*n,*/ 1);
if (forkshell(jp, n, backgnd) == 0) {
INT_ON;
flags |= EV_EXIT;
@@ -7843,7 +7844,7 @@
pipelen++;
flags |= EV_EXIT;
INT_OFF;
- jp = makejob(n, pipelen);
+ jp = makejob(/*n,*/ pipelen);
prevfd = -1;
for (lp = n->npipe.cmdlist; lp; lp = lp->next) {
prehash(lp->n);
@@ -8098,7 +8099,7 @@
* The "local" command.
*/
static int
-localcmd(int argc, char **argv)
+localcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
char *name;
@@ -8110,21 +8111,21 @@
}
static int
-falsecmd(int argc, char **argv)
+falsecmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
return 1;
}
static int
-truecmd(int argc, char **argv)
+truecmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
return 0;
}
static int
-execcmd(int argc, char **argv)
+execcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
- if (argc > 1) {
+ if (argv[1]) {
iflag = 0; /* exit on error */
mflag = 0;
optschanged();
@@ -8137,7 +8138,7 @@
* The return command.
*/
static int
-returncmd(int argc, char **argv)
+returncmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
/*
* If called outside a function, do what ksh does;
@@ -8296,7 +8297,7 @@
return *q == '=';
}
static int
-bltincmd(int argc, char **argv)
+bltincmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
/* Preserve exitstatus of a previous possible redirection
* as POSIX mandates */
@@ -8466,7 +8467,7 @@
/* Fork off a child process if necessary. */
if (!(flags & EV_EXIT) || trap[0]) {
INT_OFF;
- jp = makejob(cmd, 1);
+ jp = makejob(/*cmd,*/ 1);
if (forkshell(jp, cmd, FORK_FG) != 0) {
exitstatus = waitforjob(jp);
INT_ON;
@@ -8596,9 +8597,9 @@
* in the standard shell so we don't make it one here.
*/
static int
-breakcmd(int argc, char **argv)
+breakcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
- int n = argc > 1 ? number(argv[1]) : 1;
+ int n = argv[1] ? number(argv[1]) : 1;
if (n <= 0)
ash_msg_and_raise_error(illnum, argv[1]);
@@ -9095,7 +9096,7 @@
}
static void
-changemail(const char *val)
+changemail(const char *val ATTRIBUTE_UNUSED)
{
mail_var_path_changed = 1;
}
@@ -9247,13 +9248,13 @@
* The shift builtin command.
*/
static int
-shiftcmd(int argc, char **argv)
+shiftcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
int n;
char **ap1, **ap2;
n = 1;
- if (argc > 1)
+ if (argv[1])
n = number(argv[1]);
if (n > shellparam.nparam)
ash_msg_and_raise_error("can't shift that many");
@@ -9308,11 +9309,11 @@
* The set command builtin.
*/
static int
-setcmd(int argc, char **argv)
+setcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
int retval;
- if (argc == 1)
+ if (!argv[1])
return showvars(nullstr, 0, VUNSET);
INT_OFF;
retval = 1;
@@ -11015,20 +11016,19 @@
* The eval command.
*/
static int
-evalcmd(int argc, char **argv)
+evalcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
char *p;
char *concat;
- char **ap;
- if (argc > 1) {
+ if (argv[1]) {
p = argv[1];
- if (argc > 2) {
+ argv += 2;
+ if (argv[0]) {
STARTSTACKSTR(concat);
- ap = argv + 2;
for (;;) {
concat = stack_putstr(p, concat);
- p = *ap++;
+ p = *argv++;
if (p == NULL)
break;
STPUTC(' ', concat);
@@ -11139,16 +11139,15 @@
for (sp = cmdenviron; sp; sp = sp->next)
setvareq(ckstrdup(sp->text), VSTRFIXED | VTEXTFIXED);
- if (argc >= 2) { /* That's what SVR2 does */
- char *fullname;
-
- fullname = find_dot_file(argv[1]);
-
- if (argc > 2) {
+ if (argv[1]) { /* That's what SVR2 does */
+ char *fullname = find_dot_file(argv[1]);
+ argv += 2;
+ argc -= 2;
+ if (argc) { /* argc > 0, argv[0] != NULL */
saveparam = shellparam;
shellparam.malloced = 0;
- shellparam.nparam = argc - 2;
- shellparam.p = argv + 2;
+ shellparam.nparam = argc;
+ shellparam.p = argv;
};
setinputfile(fullname, INPUT_PUSH_FILE);
@@ -11156,7 +11155,7 @@
cmdloop(0);
popfile();
- if (argc > 2) {
+ if (argc) {
freeparam(&shellparam);
shellparam = saveparam;
};
@@ -11166,11 +11165,11 @@
}
static int
-exitcmd(int argc, char **argv)
+exitcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
if (stoppedjobs())
return 0;
- if (argc > 1)
+ if (argv[1])
exitstatus = number(argv[1]);
raise_exception(EXEXIT);
/* NOTREACHED */
@@ -11404,7 +11403,7 @@
* The trap builtin.
*/
static int
-trapcmd(int argc, char **argv)
+trapcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
char *action;
char **ap;
@@ -11457,7 +11456,7 @@
* Lists available builtins
*/
static int
-helpcmd(int argc, char **argv)
+helpcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
int col, i;
@@ -11492,7 +11491,7 @@
* The export and readonly commands.
*/
static int
-exportcmd(int argc, char **argv)
+exportcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
struct var *vp;
char *name;
@@ -11543,7 +11542,7 @@
* with the same name.
*/
static int
-unsetcmd(int argc, char **argv)
+unsetcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
char **ap;
int i;
@@ -11581,7 +11580,7 @@
};
static int
-timescmd(int ac, char **av)
+timescmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
long clk_tck, s, t;
const unsigned char *p;
@@ -11633,17 +11632,16 @@
* Copyright (C) 2003 Vladimir Oleynik <dzo@simtreas.ru>
*/
static int
-letcmd(int argc, char **argv)
+letcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
- char **ap;
- arith_t i = 0;
+ arith_t i;
- ap = argv + 1;
- if (!*ap)
+ argv++;
+ if (!*argv)
ash_msg_and_raise_error("expression expected");
- for (ap = argv + 1; *ap; ap++) {
- i = dash_arith(*ap);
- }
+ do {
+ i = dash_arith(*argv);
+ } while (*++argv);
return !i;
}
@@ -11668,7 +11666,7 @@
* This uses unbuffered input, which may be avoidable in some cases.
*/
static int
-readcmd(int argc, char **argv)
+readcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
char **ap;
int backslash;
@@ -11859,7 +11857,7 @@
}
static int
-umaskcmd(int argc, char **argv)
+umaskcmd(int argc ATTRIBUTE_UNUSED, char **argv)
{
static const char permuser[3] ALIGN1 = "ugo";
static const char permmode[3] ALIGN1 = "rwx";
@@ -12034,7 +12032,7 @@
}
static int
-ulimitcmd(int argc, char **argv)
+ulimitcmd(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
int c;
rlim_t val = 0;
@@ -12868,7 +12866,7 @@
* Process the shell command line arguments.
*/
static void
-procargs(int argc, char **argv)
+procargs(char **argv)
{
int i;
const char *xminusc;
@@ -12876,7 +12874,7 @@
xargv = argv;
arg0 = xargv[0];
- if (argc > 0)
+ /* if (xargv[0]) - mmm, this is always true! */
xargv++;
for (i = 0; i < NOPTS; i++)
optlist[i] = 2;
@@ -12976,7 +12974,7 @@
* is used to figure out how far we had gotten.
*/
int ash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int ash_main(int argc, char **argv)
+int ash_main(int argc ATTRIBUTE_UNUSED, char **argv)
{
char *shinit;
volatile int state;
@@ -13039,7 +13037,8 @@
#endif
init();
setstackmark(&smark);
- procargs(argc, argv);
+ procargs(argv);
+
#if ENABLE_FEATURE_EDITING_SAVEHISTORY
if (iflag) {
const char *hp = lookupvar("HISTFILE");
diff --git a/shell/hush.c b/shell/hush.c
index c61607d..2d56972 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -536,11 +536,13 @@
static int redirect_dup_num(struct in_str *input);
static int redirect_opt_num(o_string *o);
#if ENABLE_HUSH_TICK
-static int process_command_subs(o_string *dest, struct p_context *ctx, struct in_str *input, const char *subst_end);
+static int process_command_subs(o_string *dest, /*struct p_context *ctx,*/
+ struct in_str *input, const char *subst_end);
#endif
static int parse_group(o_string *dest, struct p_context *ctx, struct in_str *input, int ch);
static const char *lookup_param(const char *src);
-static int handle_dollar(o_string *dest, struct p_context *ctx, struct in_str *input);
+static int handle_dollar(o_string *dest, /*struct p_context *ctx,*/
+ struct in_str *input);
static int parse_stream(o_string *dest, struct p_context *ctx, struct in_str *input0, const char *end_trigger);
/* setup: */
static int parse_and_run_stream(struct in_str *inp, int parse_flag);
@@ -741,14 +743,14 @@
signal(SIGCHLD, handler);
}
-static void handler_ctrl_c(int sig)
+static void handler_ctrl_c(int sig ATTRIBUTE_UNUSED)
{
debug_printf_jobs("got sig %d\n", sig);
// as usual we can have all kinds of nasty problems with leaked malloc data here
siglongjmp(toplevel_jb, 1);
}
-static void handler_ctrl_z(int sig)
+static void handler_ctrl_z(int sig ATTRIBUTE_UNUSED)
{
pid_t pid;
@@ -3257,8 +3259,10 @@
}
/* Return code is exit status of the process that is run. */
-static int process_command_subs(o_string *dest, struct p_context *ctx,
- struct in_str *input, const char *subst_end)
+static int process_command_subs(o_string *dest,
+ /*struct p_context *ctx,*/
+ struct in_str *input,
+ const char *subst_end)
{
int retcode, ch, eol_cnt;
o_string result = NULL_O_STRING;
@@ -3351,7 +3355,7 @@
}
/* return code: 0 for OK, 1 for syntax error */
-static int handle_dollar(o_string *dest, struct p_context *ctx, struct in_str *input)
+static int handle_dollar(o_string *dest, /*struct p_context *ctx,*/ struct in_str *input)
{
int ch = b_peek(input); /* first character after the $ */
unsigned char quote_mask = dest->o_quote ? 0x80 : 0;
@@ -3409,7 +3413,7 @@
#if ENABLE_HUSH_TICK
case '(':
b_getch(input);
- process_command_subs(dest, ctx, input, ")");
+ process_command_subs(dest, /*ctx,*/ input, ")");
break;
#endif
case '-':
@@ -3507,7 +3511,7 @@
b_addqchr(dest, b_getch(input), dest->o_quote);
break;
case '$':
- if (handle_dollar(dest, ctx, input) != 0) {
+ if (handle_dollar(dest, /*ctx,*/ input) != 0) {
debug_printf_parse("parse_stream return 1: handle_dollar returned non-0\n");
return 1;
}
@@ -3532,7 +3536,7 @@
break;
#if ENABLE_HUSH_TICK
case '`':
- process_command_subs(dest, ctx, input, "`");
+ process_command_subs(dest, /*ctx,*/ input, "`");
break;
#endif
case '>':
diff --git a/shell/msh.c b/shell/msh.c
index 5ed6dfd..63f3659 100644
--- a/shell/msh.c
+++ b/shell/msh.c
@@ -589,7 +589,7 @@
};
static struct op *scantree(struct op *);
-static struct op *dowholefile(int, int);
+static struct op *dowholefile(int /*, int*/);
/* Globals */
@@ -1448,7 +1448,7 @@
PUSHIO(afile, f, filechar);
}
-static void onintr(int s) /* ANSI C requires a parameter */
+static void onintr(int s ATTRIBUTE_UNUSED) /* ANSI C requires a parameter */
{
signal(SIGINT, onintr);
intr = 1;
@@ -1864,11 +1864,11 @@
return t;
}
-static struct op *dowholefile(int type, int mark)
+static struct op *dowholefile(int type /*, int mark*/)
{
struct op *t;
- DBGPRINTF(("DOWHOLEFILE: enter, type=%d, mark=%d\n", type, mark));
+ DBGPRINTF(("DOWHOLEFILE: enter, type=%d\n", type /*, mark*/));
multiline++;
t = c_list();
@@ -2477,7 +2477,7 @@
newfile(evalstr(t->op_words[0], DOALL));
- t->left = dowholefile(TLIST, 0);
+ t->left = dowholefile(TLIST /*, 0*/);
t->right = NULL;
outtree = outtree_save;
@@ -3155,7 +3155,7 @@
* built-in commands: doX
*/
-static int dohelp(struct op *t, char **args)
+static int dohelp(struct op *t ATTRIBUTE_UNUSED, char **args ATTRIBUTE_UNUSED)
{
int col;
const struct builtincmd *x;
@@ -3191,12 +3191,12 @@
return EXIT_SUCCESS;
}
-static int dolabel(struct op *t, char **args)
+static int dolabel(struct op *t ATTRIBUTE_UNUSED, char **args ATTRIBUTE_UNUSED)
{
return 0;
}
-static int dochdir(struct op *t, char **args)
+static int dochdir(struct op *t ATTRIBUTE_UNUSED, char **args)
{
const char *cp, *er;
@@ -3217,7 +3217,7 @@
return 1;
}
-static int doshift(struct op *t, char **args)
+static int doshift(struct op *t ATTRIBUTE_UNUSED, char **args)
{
int n;
@@ -3236,7 +3236,7 @@
/*
* execute login and newgrp directly
*/
-static int dologin(struct op *t, char **args)
+static int dologin(struct op *t ATTRIBUTE_UNUSED, char **args)
{
const char *cp;
@@ -3251,7 +3251,7 @@
return 1;
}
-static int doumask(struct op *t, char **args)
+static int doumask(struct op *t ATTRIBUTE_UNUSED, char **args)
{
int i;
char *cp;
@@ -3301,7 +3301,7 @@
return 1;
}
-static int dodot(struct op *t, char **args)
+static int dodot(struct op *t ATTRIBUTE_UNUSED, char **args)
{
int i;
const char *sp;
@@ -3355,7 +3355,7 @@
return -1;
}
-static int dowait(struct op *t, char **args)
+static int dowait(struct op *t ATTRIBUTE_UNUSED, char **args)
{
int i;
char *cp;
@@ -3371,7 +3371,7 @@
return 0;
}
-static int doread(struct op *t, char **args)
+static int doread(struct op *t ATTRIBUTE_UNUSED, char **args)
{
char *cp, **wp;
int nb = 0;
@@ -3398,12 +3398,12 @@
return nb <= 0;
}
-static int doeval(struct op *t, char **args)
+static int doeval(struct op *t ATTRIBUTE_UNUSED, char **args)
{
return RUN(awordlist, args + 1, wdchar);
}
-static int dotrap(struct op *t, char **args)
+static int dotrap(struct op *t ATTRIBUTE_UNUSED, char **args)
{
int n, i;
int resetsig;
@@ -3484,12 +3484,12 @@
return n * m;
}
-static int dobreak(struct op *t, char **args)
+static int dobreak(struct op *t ATTRIBUTE_UNUSED, char **args)
{
return brkcontin(args[1], 1);
}
-static int docontinue(struct op *t, char **args)
+static int docontinue(struct op *t ATTRIBUTE_UNUSED, char **args)
{
return brkcontin(args[1], 0);
}
@@ -3517,7 +3517,7 @@
/* NOTREACHED */
}
-static int doexit(struct op *t, char **args)
+static int doexit(struct op *t ATTRIBUTE_UNUSED, char **args)
{
char *cp;
@@ -3533,13 +3533,13 @@
return 0;
}
-static int doexport(struct op *t, char **args)
+static int doexport(struct op *t ATTRIBUTE_UNUSED, char **args)
{
rdexp(args + 1, export, EXPORT);
return 0;
}
-static int doreadonly(struct op *t, char **args)
+static int doreadonly(struct op *t ATTRIBUTE_UNUSED, char **args)
{
rdexp(args + 1, ronly, RONLY);
return 0;
@@ -3575,7 +3575,7 @@
err(": bad identifier");
}
-static int doset(struct op *t, char **args)
+static int doset(struct op *t ATTRIBUTE_UNUSED, char **args)
{
struct var *vp;
char *cp;
@@ -3650,7 +3650,7 @@
#endif
}
-static int dotimes(struct op *t, char **args)
+static int dotimes(struct op *t ATTRIBUTE_UNUSED, char **args ATTRIBUTE_UNUSED)
{
struct tms buf;
unsigned clk_tck = sysconf(_SC_CLK_TCK);