ref: 292d39f7b7b15e56a10f4712467d4680c8fedb2e
parent: cef51801109a3032c66aa76503a92ce66724725a
author: Todd C. Miller <Todd.Miller@sudo.ws>
date: Thu Jun 25 08:32:34 EDT 2020
Rename dprintf to DPRINTF and use C99 cpp variadic arguments. (#82) POSIX specifies a dprintf function that operates on an fd instead of a stdio stream. Using upper case for macros is more idiomatic too. We no longer need to use an extra set of parentheses for debugging printf statements.
--- a/awk.h
+++ b/awk.h
@@ -44,14 +44,13 @@
*/
#define setptr(ptr, a) (*(char *)(intptr_t)(ptr)) = (a)
-#define NN(p) ((p) ? (p) : "(null)") /* guaranteed non-null for dprintf
+#define NN(p) ((p) ? (p) : "(null)") /* guaranteed non-null for DPRINTF
*/
#define DEBUG
#ifdef DEBUG
- /* uses have to be doubly parenthesized */
-# define dprintf(x) if (dbg) printf x
+# define DPRINTF(...) if (dbg) printf(__VA_ARGS__)
#else
-# define dprintf(x)
+# define DPRINTF(...)
#endif
extern enum compile_states {--- a/b.c
+++ b/b.c
@@ -397,7 +397,7 @@
i++;
}
*bp = 0;
- dprintf( ("cclenter: in = |%s|, out = |%s|\n", op, buf) );+ DPRINTF("cclenter: in = |%s|, out = |%s|\n", op, buf);xfree(op);
return (char *) tostring((char *) buf);
}
@@ -733,7 +733,7 @@
{ /* uses relex() to scan regular expression */Node *np;
- dprintf( ("reparse <%s>\n", p) );+ DPRINTF("reparse <%s>\n", p);lastre = prestr = (const uschar *) p; /* prestr points to string to be parsed */
rtok = relex();
/* GNU compatibility: an empty regexp matches anything */
--- a/lib.c
+++ b/lib.c
@@ -147,8 +147,8 @@
firsttime = false;
initgetrec();
}
- dprintf( ("RS=<%s>, FS=<%s>, ARGC=%g, FILENAME=%s\n",- *RS, *FS, *ARGC, *FILENAME) );
+ DPRINTF("RS=<%s>, FS=<%s>, ARGC=%g, FILENAME=%s\n",+ *RS, *FS, *ARGC, *FILENAME);
if (isrecord) {donefld = false;
donerec = true;
@@ -157,7 +157,7 @@
saveb0 = buf[0];
buf[0] = 0;
while (argno < *ARGC || infile == stdin) {- dprintf( ("argno=%d, file=|%s|\n", argno, file) );+ DPRINTF("argno=%d, file=|%s|\n", argno, file); if (infile == NULL) { /* have to open a new file */file = getargv(argno);
if (file == NULL || *file == '\0') { /* deleted or zapped */@@ -170,7 +170,7 @@
continue;
}
*FILENAME = file;
- dprintf( ("opening file %s\n", file) );+ DPRINTF("opening file %s\n", file);if (*file == '-' && *(file+1) == '\0')
infile = stdin;
else if ((infile = fopen(file, "r")) == NULL)
@@ -271,7 +271,7 @@
*pbuf = buf;
*pbufsize = bufsize;
isrec = *buf || !feof(inf);
- dprintf( ("readrec saw <%s>, returns %d\n", buf, isrec) );+ DPRINTF("readrec saw <%s>, returns %d\n", buf, isrec);return isrec;
}
@@ -286,7 +286,7 @@
return NULL;
x = setsymtab(temp, "", 0.0, STR, ARGVtab);
s = getsval(x);
- dprintf( ("getargv(%d) returns |%s|\n", n, s) );+ DPRINTF("getargv(%d) returns |%s|\n", n, s);return s;
}
@@ -305,7 +305,7 @@
q->fval = atof(q->sval);
q->tval |= NUM;
}
- dprintf( ("command line set %s to |%s|\n", s, p) );+ DPRINTF("command line set %s to |%s|\n", s, p);}
@@ -504,7 +504,7 @@
if (*rec == '\0')
return 0;
pfa = makedfa(fs, 1);
- dprintf( ("into refldbld, rec = <%s>, pat = <%s>\n", rec, fs) );+ DPRINTF("into refldbld, rec = <%s>, pat = <%s>\n", rec, fs);tempstat = pfa->initstat;
for (i = 1; ; i++) {if (i > nfields)
@@ -513,16 +513,16 @@
xfree(fldtab[i]->sval);
fldtab[i]->tval = FLD | STR | DONTFREE;
fldtab[i]->sval = fr;
- dprintf( ("refldbld: i=%d\n", i) );+ DPRINTF("refldbld: i=%d\n", i); if (nematch(pfa, rec)) {pfa->initstat = 2; /* horrible coupling to b.c */
- dprintf( ("match %s (%d chars)\n", patbeg, patlen) );+ DPRINTF("match %s (%d chars)\n", patbeg, patlen);strncpy(fr, rec, patbeg-rec);
fr += patbeg - rec + 1;
*(fr-1) = '\0';
rec = patbeg + patlen;
} else {- dprintf( ("no match %s\n", rec) );+ DPRINTF("no match %s\n", rec);strcpy(fr, rec);
pfa->initstat = tempstat;
break;
@@ -556,7 +556,7 @@
if (!adjbuf(&record, &recsize, 2+r-record, recsize, &r, "recbld 3"))
FATAL("built giant record `%.30s...'", record);*r = '\0';
- dprintf( ("in recbld inputFS=%s, fldtab[0]=%p\n", inputFS, (void*)fldtab[0]) );+ DPRINTF("in recbld inputFS=%s, fldtab[0]=%p\n", inputFS, (void*)fldtab[0]);if (freeable(fldtab[0]))
xfree(fldtab[0]->sval);
@@ -563,8 +563,8 @@
fldtab[0]->tval = REC | STR | DONTFREE;
fldtab[0]->sval = record;
- dprintf( ("in recbld inputFS=%s, fldtab[0]=%p\n", inputFS, (void*)fldtab[0]) );- dprintf( ("recbld = |%s|\n", record) );+ DPRINTF("in recbld inputFS=%s, fldtab[0]=%p\n", inputFS, (void*)fldtab[0]);+ DPRINTF("recbld = |%s|\n", record);donerec = true;
}
--- a/main.c
+++ b/main.c
@@ -200,7 +200,7 @@
exit(0);
FATAL("no program given");}
- dprintf( ("program = |%s|\n", argv[1]) );+ DPRINTF("program = |%s|\n", argv[1]);lexprog = argv[1];
argc--;
argv++;
@@ -209,7 +209,7 @@
syminit();
compile_time = COMPILING;
argv[0] = cmdname; /* put prog name at front of arglist */
- dprintf( ("argc=%d, argv[0]=%s\n", argc, argv[0]) );+ DPRINTF("argc=%d, argv[0]=%s\n", argc, argv[0]);arginit(argc, argv);
if (!safe)
envinit(environ);
@@ -221,7 +221,7 @@
#endif
if (fs)
*FS = qstring(fs, '\0');
- dprintf( ("errorflag=%d\n", errorflag) );+ DPRINTF("errorflag=%d\n", errorflag); if (errorflag == 0) {compile_time = RUNNING;
run(winner);
--- a/parse.c
+++ b/parse.c
@@ -250,7 +250,7 @@
for (p = vl; p; p = p->nnext)
n++;
v->fval = n;
- dprintf( ("defining func %s (%d args)\n", v->nval, n) );+ DPRINTF("defining func %s (%d args)\n", v->nval, n);}
int isarg(const char *s) /* is s in argument list for current function? */
--- a/run.c
+++ b/run.c
@@ -119,7 +119,7 @@
if (rminlen)
minlen += quantum - rminlen;
tbuf = realloc(*pbuf, minlen);
- dprintf( ("adjbuf %s: %d %d (pbuf=%p, tbuf=%p)\n", whatrtn, *psiz, minlen, *pbuf, tbuf) );+ DPRINTF("adjbuf %s: %d %d (pbuf=%p, tbuf=%p)\n", whatrtn, *psiz, minlen, *pbuf, tbuf); if (tbuf == NULL) {if (whatrtn)
FATAL("out of memory in %s", whatrtn);@@ -247,7 +247,7 @@
for (ncall = 0, x = a[1]; x != NULL; x = x->nnext) /* args in call */
ncall++;
ndef = (int) fcn->fval; /* args in defn */
- dprintf( ("calling %s, %d args (%d in defn), frp=%d\n", s, ncall, ndef, (int) (frp-frame)) );+ DPRINTF("calling %s, %d args (%d in defn), frp=%d\n", s, ncall, ndef, (int) (frp-frame));if (ncall > ndef)
WARNING("function %s called with %d args, uses only %d",s, ncall, ndef);
@@ -254,11 +254,11 @@
if (ncall + ndef > NARGS)
FATAL("function %s has %d arguments, limit %d", s, ncall+ndef, NARGS); for (i = 0, x = a[1]; x != NULL; i++, x = x->nnext) { /* get call args */- dprintf( ("evaluate args[%d], frp=%d:\n", i, (int) (frp-frame)) );+ DPRINTF("evaluate args[%d], frp=%d:\n", i, (int) (frp-frame));y = execute(x);
oargs[i] = y;
- dprintf( ("args[%d]: %s %f <%s>, t=%o\n",- i, NN(y->nval), y->fval, isarr(y) ? "(array)" : NN(y->sval), y->tval) );
+ DPRINTF("args[%d]: %s %f <%s>, t=%o\n",+ i, NN(y->nval), y->fval, isarr(y) ? "(array)" : NN(y->sval), y->tval);
if (isfcn(y))
FATAL("can't use function %s as argument in %s", y->nval, s);if (isarr(y))
@@ -284,9 +284,9 @@
frp->nargs = ndef; /* number defined with (excess are locals) */
frp->retval = gettemp();
- dprintf( ("start exec of %s, frp=%d\n", s, (int) (frp-frame)) );+ DPRINTF("start exec of %s, frp=%d\n", s, (int) (frp-frame));y = execute((Node *)(fcn->sval)); /* execute body */
- dprintf( ("finished exec of %s, frp=%d\n", s, (int) (frp-frame)) );+ DPRINTF("finished exec of %s, frp=%d\n", s, (int) (frp-frame)); for (i = 0; i < ndef; i++) {Cell *t = frp->args[i];
@@ -319,7 +319,7 @@
tempfree(y); /* don't free twice! */
}
z = frp->retval; /* return value */
- dprintf( ("%s returns %g |%s| %o\n", s, getfval(z), getsval(z), z->tval) );+ DPRINTF("%s returns %g |%s| %o\n", s, getfval(z), getsval(z), z->tval);frp--;
return(z);
}
@@ -347,7 +347,7 @@
{n = ptoi(a[0]); /* argument number, counting from 0 */
- dprintf( ("arg(%d), frp->nargs=%d\n", n, frp->nargs) );+ DPRINTF("arg(%d), frp->nargs=%d\n", n, frp->nargs);if (n+1 > frp->nargs)
FATAL("argument #%d of function %s was not supplied",n+1, frp->fcncell->nval);
@@ -512,7 +512,7 @@
x = execute(a[0]); /* Cell* for symbol table */
buf = makearraystring(a[1], __func__);
if (!isarr(x)) {- dprintf( ("making %s into an array\n", NN(x->nval)) );+ DPRINTF("making %s into an array\n", NN(x->nval));if (freeable(x))
xfree(x->sval);
x->tval &= ~(STR|NUM|DONTFREE);
@@ -558,7 +558,7 @@
ap = execute(a[1]); /* array name */
if (!isarr(ap)) {- dprintf( ("making %s into an array\n", ap->nval) );+ DPRINTF("making %s into an array\n", ap->nval);if (freeable(ap))
xfree(ap->sval);
ap->tval &= ~(STR|NUM|DONTFREE);
@@ -687,7 +687,7 @@
void tfree(Cell *a) /* free a tempcell */
{ if (freeable(a)) {- dprintf( ("freeing %s %s %o\n", NN(a->nval), NN(a->sval), a->tval) );+ DPRINTF("freeing %s %s %o\n", NN(a->nval), NN(a->sval), a->tval);xfree(a->sval);
}
if (a == tmps)
@@ -774,7 +774,7 @@
n = 0;
else if (n > k - m)
n = k - m;
- dprintf( ("substr: m=%d, n=%d, s=%s\n", m, n, s) );+ DPRINTF("substr: m=%d, n=%d, s=%s\n", m, n, s);y = gettemp();
temp = s[n+m-1]; /* with thanks to John Linderman */
s[n+m-1] = '\0';
@@ -1276,7 +1276,7 @@
sep = *fs;
ap = execute(a[1]); /* array name */
freesymtab(ap);
- dprintf( ("split: s=|%s|, a=%s, sep=|%s|\n", s, NN(ap->nval), fs) );+ DPRINTF("split: s=|%s|, a=%s, sep=|%s|\n", s, NN(ap->nval), fs);ap->tval &= ~STR;
ap->tval |= ARR;
ap->sval = (char *) makesymtab(NSYMTAB);
--- a/tran.c
+++ b/tran.c
@@ -234,8 +234,8 @@
Cell *p;
if (n != NULL && (p = lookup(n, tp)) != NULL) {- dprintf( ("setsymtab found %p: n=%s s=\"%s\" f=%g t=%o\n",- (void*)p, NN(p->nval), NN(p->sval), p->fval, p->tval) );
+ DPRINTF("setsymtab found %p: n=%s s=\"%s\" f=%g t=%o\n",+ (void*)p, NN(p->nval), NN(p->sval), p->fval, p->tval);
return(p);
}
p = malloc(sizeof(*p));
@@ -253,8 +253,8 @@
h = hash(n, tp->size);
p->cnext = tp->tab[h];
tp->tab[h] = p;
- dprintf( ("setsymtab set %p: n=%s s=\"%s\" f=%g t=%o\n",- (void*)p, p->nval, p->sval, p->fval, p->tval) );
+ DPRINTF("setsymtab set %p: n=%s s=\"%s\" f=%g t=%o\n",+ (void*)p, p->nval, p->sval, p->fval, p->tval);
return(p);
}
@@ -313,11 +313,11 @@
fldno = atoi(vp->nval);
if (fldno > *NF)
newfld(fldno);
- dprintf( ("setting field %d to %g\n", fldno, f) );+ DPRINTF("setting field %d to %g\n", fldno, f); } else if (&vp->fval == NF) {donerec = false; /* mark $0 invalid */
setlastfld(f);
- dprintf( ("setting NF to %g\n", f) );+ DPRINTF("setting NF to %g\n", f); } else if (isrec(vp)) {donefld = false; /* mark $1... invalid */
donerec = true;
@@ -333,7 +333,7 @@
vp->tval |= NUM; /* mark number ok */
if (f == -0) /* who would have thought this possible? */
f = 0;
- dprintf( ("setfval %p: %s = %g, t=%o\n", (void*)vp, NN(vp->nval), f, vp->tval) );+ DPRINTF("setfval %p: %s = %g, t=%o\n", (void*)vp, NN(vp->nval), f, vp->tval);return vp->fval = f;
}
@@ -353,8 +353,8 @@
int fldno;
Awkfloat f;
- dprintf( ("starting setsval %p: %s = \"%s\", t=%o, r,f=%d,%d\n",- (void*)vp, NN(vp->nval), s, vp->tval, donerec, donefld) );
+ DPRINTF("starting setsval %p: %s = \"%s\", t=%o, r,f=%d,%d\n",+ (void*)vp, NN(vp->nval), s, vp->tval, donerec, donefld);
if ((vp->tval & (NUM | STR)) == 0)
funnyvar(vp, "assign to");
if (isfld(vp)) {@@ -362,7 +362,7 @@
fldno = atoi(vp->nval);
if (fldno > *NF)
newfld(fldno);
- dprintf( ("setting field %d to %s (%p)\n", fldno, s, s) );+ DPRINTF("setting field %d to %s (%p)\n", fldno, s, s); } else if (isrec(vp)) {donefld = false; /* mark $1... invalid */
donerec = true;
@@ -378,14 +378,14 @@
vp->tval |= STR;
vp->fmt = NULL;
setfree(vp);
- dprintf( ("setsval %p: %s = \"%s (%p) \", t=%o r,f=%d,%d\n",- (void*)vp, NN(vp->nval), t, t, vp->tval, donerec, donefld) );
+ DPRINTF("setsval %p: %s = \"%s (%p) \", t=%o r,f=%d,%d\n",+ (void*)vp, NN(vp->nval), t, t, vp->tval, donerec, donefld);
vp->sval = t;
if (&vp->fval == NF) {donerec = false; /* mark $0 invalid */
f = getfval(vp);
setlastfld(f);
- dprintf( ("setting NF to %g\n", f) );+ DPRINTF("setting NF to %g\n", f);}
return(vp->sval);
@@ -404,8 +404,8 @@
if (is_number(vp->sval) && !(vp->tval&CON))
vp->tval |= NUM; /* make NUM only sparingly */
}
- dprintf( ("getfval %p: %s = %g, t=%o\n",- (void*)vp, NN(vp->nval), vp->fval, vp->tval) );
+ DPRINTF("getfval %p: %s = %g, t=%o\n",+ (void*)vp, NN(vp->nval), vp->fval, vp->tval);
return(vp->fval);
}
@@ -492,8 +492,8 @@
}
}
done:
- dprintf( ("getsval %p: %s = \"%s (%p)\", t=%o\n",- (void*)vp, NN(vp->nval), vp->sval, vp->sval, vp->tval) );
+ DPRINTF("getsval %p: %s = \"%s (%p)\", t=%o\n",+ (void*)vp, NN(vp->nval), vp->sval, vp->sval, vp->tval);
return(vp->sval);
}
--
⑨