Module Name: src
Committed By: christos
Date: Sat Dec 29 02:44:26 UTC 2012
Modified Files:
src/external/historical/nawk/dist: awkgram.y b.c lib.c main.c makefile
proctab.c proto.h run.c tran.c
Log Message:
merge 2012-12-20
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/historical/nawk/dist/awkgram.y \
src/external/historical/nawk/dist/b.c \
src/external/historical/nawk/dist/proctab.c
cvs rdiff -u -r1.5 -r1.6 src/external/historical/nawk/dist/lib.c \
src/external/historical/nawk/dist/run.c
cvs rdiff -u -r1.7 -r1.8 src/external/historical/nawk/dist/main.c
cvs rdiff -u -r1.2 -r1.3 src/external/historical/nawk/dist/makefile
cvs rdiff -u -r1.6 -r1.7 src/external/historical/nawk/dist/proto.h \
src/external/historical/nawk/dist/tran.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/historical/nawk/dist/awkgram.y
diff -u src/external/historical/nawk/dist/awkgram.y:1.3 src/external/historical/nawk/dist/awkgram.y:1.4
--- src/external/historical/nawk/dist/awkgram.y:1.3 Sat May 28 11:13:04 2011
+++ src/external/historical/nawk/dist/awkgram.y Fri Dec 28 21:44:26 2012
@@ -179,8 +179,8 @@ pa_pat:
pa_stat:
pa_pat { $$ = stat2(PASTAT, $1, stat2(PRINT, rectonode(), NIL)); }
| pa_pat lbrace stmtlist '}' { $$ = stat2(PASTAT, $1, $3); }
- | pa_pat ',' pa_pat { $$ = pa2stat($1, $3, stat2(PRINT, rectonode(), NIL)); }
- | pa_pat ',' pa_pat lbrace stmtlist '}' { $$ = pa2stat($1, $3, $5); }
+ | pa_pat ',' opt_nl pa_pat { $$ = pa2stat($1, $4, stat2(PRINT, rectonode(), NIL)); }
+ | pa_pat ',' opt_nl pa_pat lbrace stmtlist '}' { $$ = pa2stat($1, $4, $6); }
| lbrace stmtlist '}' { $$ = stat2(PASTAT, NIL, $2); }
| XBEGIN lbrace stmtlist '}'
{ beginloc = linkum(beginloc, $3); $$ = 0; }
Index: src/external/historical/nawk/dist/b.c
diff -u src/external/historical/nawk/dist/b.c:1.3 src/external/historical/nawk/dist/b.c:1.4
--- src/external/historical/nawk/dist/b.c:1.3 Sat Mar 10 14:18:48 2012
+++ src/external/historical/nawk/dist/b.c Fri Dec 28 21:44:26 2012
@@ -843,7 +843,7 @@ Node *unary(Node *np)
* to nelson beebe for the suggestion; let's see if it works everywhere.
*/
-/* #define HAS_ISBLANK */
+#define HAS_ISBLANK
static const struct charclass {
const char *cc_name;
@@ -852,7 +852,11 @@ static const struct charclass {
} charclasses[] = {
{ "alnum", 5, isalnum },
{ "alpha", 5, isalpha },
+#ifndef HAS_ISBLANK
+ { "blank", 5, isspace }, /* was isblank */
+#else
{ "blank", 5, isblank },
+#endif
{ "cntrl", 5, iscntrl },
{ "digit", 5, isdigit },
{ "graph", 5, isgraph },
Index: src/external/historical/nawk/dist/proctab.c
diff -u src/external/historical/nawk/dist/proctab.c:1.3 src/external/historical/nawk/dist/proctab.c:1.4
--- src/external/historical/nawk/dist/proctab.c:1.3 Fri Aug 27 12:49:47 2010
+++ src/external/historical/nawk/dist/proctab.c Fri Dec 28 21:44:26 2012
@@ -7,100 +7,100 @@
#include "awkgram.h"
static const char * const printname[94] = {
- "FIRSTTOKEN", /* 257 */
- "PROGRAM", /* 258 */
- "PASTAT", /* 259 */
- "PASTAT2", /* 260 */
- "XBEGIN", /* 261 */
- "XEND", /* 262 */
- "NL", /* 263 */
- "ARRAY", /* 264 */
- "MATCH", /* 265 */
- "NOTMATCH", /* 266 */
- "MATCHOP", /* 267 */
- "FINAL", /* 268 */
- "DOT", /* 269 */
- "ALL", /* 270 */
- "CCL", /* 271 */
- "NCCL", /* 272 */
- "CHAR", /* 273 */
- "OR", /* 274 */
- "STAR", /* 275 */
- "QUEST", /* 276 */
- "PLUS", /* 277 */
- "EMPTYRE", /* 278 */
- "AND", /* 279 */
- "BOR", /* 280 */
- "APPEND", /* 281 */
- "EQ", /* 282 */
- "GE", /* 283 */
- "GT", /* 284 */
- "LE", /* 285 */
- "LT", /* 286 */
- "NE", /* 287 */
- "IN", /* 288 */
- "ARG", /* 289 */
- "BLTIN", /* 290 */
- "BREAK", /* 291 */
- "CLOSE", /* 292 */
- "CONTINUE", /* 293 */
- "DELETE", /* 294 */
- "DO", /* 295 */
- "EXIT", /* 296 */
- "FOR", /* 297 */
- "FUNC", /* 298 */
- "SUB", /* 299 */
- "GSUB", /* 300 */
- "IF", /* 301 */
- "INDEX", /* 302 */
- "LSUBSTR", /* 303 */
- "MATCHFCN", /* 304 */
- "NEXT", /* 305 */
- "NEXTFILE", /* 306 */
- "ADD", /* 307 */
- "MINUS", /* 308 */
- "MULT", /* 309 */
- "DIVIDE", /* 310 */
- "MOD", /* 311 */
- "ASSIGN", /* 312 */
- "ASGNOP", /* 313 */
- "ADDEQ", /* 314 */
- "SUBEQ", /* 315 */
- "MULTEQ", /* 316 */
- "DIVEQ", /* 317 */
- "MODEQ", /* 318 */
- "POWEQ", /* 319 */
- "PRINT", /* 320 */
- "PRINTF", /* 321 */
- "SPRINTF", /* 322 */
- "ELSE", /* 323 */
- "INTEST", /* 324 */
- "CONDEXPR", /* 325 */
- "POSTINCR", /* 326 */
- "PREINCR", /* 327 */
- "POSTDECR", /* 328 */
- "PREDECR", /* 329 */
- "VAR", /* 330 */
- "IVAR", /* 331 */
- "VARNF", /* 332 */
- "CALL", /* 333 */
- "NUMBER", /* 334 */
- "STRING", /* 335 */
- "REGEXPR", /* 336 */
- "GETLINE", /* 337 */
- "GENSUB", /* 338 */
- "RETURN", /* 339 */
- "SPLIT", /* 340 */
- "SUBSTR", /* 341 */
- "WHILE", /* 342 */
- "CAT", /* 343 */
- "NOT", /* 344 */
- "UMINUS", /* 345 */
- "POWER", /* 346 */
- "DECR", /* 347 */
- "INCR", /* 348 */
- "INDIRECT", /* 349 */
- "LASTTOKEN", /* 350 */
+ "FIRSTTOKEN", /* 57346 */
+ "PROGRAM", /* 57347 */
+ "PASTAT", /* 57348 */
+ "PASTAT2", /* 57349 */
+ "XBEGIN", /* 57350 */
+ "XEND", /* 57351 */
+ "NL", /* 57352 */
+ "ARRAY", /* 57353 */
+ "MATCH", /* 57354 */
+ "NOTMATCH", /* 57355 */
+ "MATCHOP", /* 57356 */
+ "FINAL", /* 57357 */
+ "DOT", /* 57358 */
+ "ALL", /* 57359 */
+ "CCL", /* 57360 */
+ "NCCL", /* 57361 */
+ "CHAR", /* 57362 */
+ "OR", /* 57363 */
+ "STAR", /* 57364 */
+ "QUEST", /* 57365 */
+ "PLUS", /* 57366 */
+ "EMPTYRE", /* 57367 */
+ "AND", /* 57368 */
+ "BOR", /* 57369 */
+ "APPEND", /* 57370 */
+ "EQ", /* 57371 */
+ "GE", /* 57372 */
+ "GT", /* 57373 */
+ "LE", /* 57374 */
+ "LT", /* 57375 */
+ "NE", /* 57376 */
+ "IN", /* 57377 */
+ "ARG", /* 57378 */
+ "BLTIN", /* 57379 */
+ "BREAK", /* 57380 */
+ "CLOSE", /* 57381 */
+ "CONTINUE", /* 57382 */
+ "DELETE", /* 57383 */
+ "DO", /* 57384 */
+ "EXIT", /* 57385 */
+ "FOR", /* 57386 */
+ "FUNC", /* 57387 */
+ "SUB", /* 57388 */
+ "GSUB", /* 57389 */
+ "IF", /* 57390 */
+ "INDEX", /* 57391 */
+ "LSUBSTR", /* 57392 */
+ "MATCHFCN", /* 57393 */
+ "NEXT", /* 57394 */
+ "NEXTFILE", /* 57395 */
+ "ADD", /* 57396 */
+ "MINUS", /* 57397 */
+ "MULT", /* 57398 */
+ "DIVIDE", /* 57399 */
+ "MOD", /* 57400 */
+ "ASSIGN", /* 57401 */
+ "ASGNOP", /* 57402 */
+ "ADDEQ", /* 57403 */
+ "SUBEQ", /* 57404 */
+ "MULTEQ", /* 57405 */
+ "DIVEQ", /* 57406 */
+ "MODEQ", /* 57407 */
+ "POWEQ", /* 57408 */
+ "PRINT", /* 57409 */
+ "PRINTF", /* 57410 */
+ "SPRINTF", /* 57411 */
+ "ELSE", /* 57412 */
+ "INTEST", /* 57413 */
+ "CONDEXPR", /* 57414 */
+ "POSTINCR", /* 57415 */
+ "PREINCR", /* 57416 */
+ "POSTDECR", /* 57417 */
+ "PREDECR", /* 57418 */
+ "VAR", /* 57419 */
+ "IVAR", /* 57420 */
+ "VARNF", /* 57421 */
+ "CALL", /* 57422 */
+ "NUMBER", /* 57423 */
+ "STRING", /* 57424 */
+ "REGEXPR", /* 57425 */
+ "GETLINE", /* 57426 */
+ "GENSUB", /* 57427 */
+ "RETURN", /* 57428 */
+ "SPLIT", /* 57429 */
+ "SUBSTR", /* 57430 */
+ "WHILE", /* 57431 */
+ "CAT", /* 57432 */
+ "NOT", /* 57433 */
+ "UMINUS", /* 57434 */
+ "POWER", /* 57435 */
+ "DECR", /* 57436 */
+ "INCR", /* 57437 */
+ "INDIRECT", /* 57438 */
+ "LASTTOKEN", /* 57439 */
};
Index: src/external/historical/nawk/dist/lib.c
diff -u src/external/historical/nawk/dist/lib.c:1.5 src/external/historical/nawk/dist/lib.c:1.6
--- src/external/historical/nawk/dist/lib.c:1.5 Sat Mar 10 14:18:48 2012
+++ src/external/historical/nawk/dist/lib.c Fri Dec 28 21:44:26 2012
@@ -97,8 +97,13 @@ void initgetrec(void)
char *p;
for (i = 1; i < *ARGC; i++) {
- if (!isclvar(p = getargv(i))) { /* find 1st real filename */
- setsval(lookup("FILENAME", symtab), getargv(i));
+ p = getargv(i); /* find 1st real filename */
+ if (p == NULL || *p == '\0') { /* deleted or zapped */
+ argno++;
+ continue;
+ }
+ if (!isclvar(p)) {
+ setsval(lookup("FILENAME", symtab), p);
return;
}
setclvar(p); /* a commandline assignment before filename */
@@ -133,7 +138,7 @@ int getrec(uschar **pbuf, int *pbufsize,
dprintf( ("argno=%d, file=|%s|\n", argno, file) );
if (infile == NULL) { /* have to open a new file */
file = getargv(argno);
- if (*file == '\0') { /* it's been zapped */
+ if (file == NULL || *file == '\0') { /* deleted or zapped */
argno++;
continue;
}
@@ -207,6 +212,7 @@ int readrec(uschar **pbuf, int *pbufsize
FATAL("field separator %.10s... is too long", *FS);
memcpy(inputFS, *FS, len_inputFS);
}
+ /*fflush(stdout); avoids some buffering problem but makes it 25% slower*/
if (**RS && (*RS)[1]) {
fa *pfa = makedfa(*RS, 1);
if (newflag)
@@ -265,6 +271,8 @@ char *getargv(int n) /* get ARGV[n] */
extern Array *ARGVtab;
snprintf(temp, sizeof(temp), "%d", n);
+ if (lookup(temp, ARGVtab) == NULL)
+ return NULL;
x = setsymtab(temp, "", 0.0, STR, ARGVtab);
s = getsval(x);
dprintf( ("getargv(%d) returns |%s|\n", n, s) );
@@ -294,6 +302,7 @@ void fldbld(void) /* create fields from
{
/* this relies on having fields[] the same length as $0 */
/* the fields are all stored in this one array with \0's */
+ /* possibly with a final trailing \0 not associated with any field */
char *r, *fr, sep;
Cell *p;
int i, j, n;
@@ -306,7 +315,7 @@ void fldbld(void) /* create fields from
n = strlen(r);
if (n > fieldssize) {
xfree(fields);
- if ((fields = malloc(n+1)) == NULL)
+ if ((fields = malloc(n+2)) == NULL) /* possibly 2 final \0s */
FATAL("out of space for fields in fldbld %d", n);
fieldssize = n;
}
@@ -537,7 +546,7 @@ void recbld(void) /* create $0 from $1..
fldtab[0]->tval = REC | STR | DONTFREE;
fldtab[0]->sval = record;
- dprintf( ("in recbld inputFS=%s, fldtab[0]=%p\n", inputFS, fldtab[0]) );
+ dprintf( ("in recbld inputFS=%s, fldtab[0]=%p\n", inputFS, (void*)fldtab[0]) );
dprintf( ("recbld = |%s|\n", record) );
donerec = 1;
}
Index: src/external/historical/nawk/dist/run.c
diff -u src/external/historical/nawk/dist/run.c:1.5 src/external/historical/nawk/dist/run.c:1.6
--- src/external/historical/nawk/dist/run.c:1.5 Sat Mar 10 14:18:48 2012
+++ src/external/historical/nawk/dist/run.c Fri Dec 28 21:44:26 2012
@@ -1233,13 +1233,13 @@ static char regexpr[] = "(regexpr)";
Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */
{
Cell *x = 0, *y, *ap;
- char *s;
+ char *s, *origs;
int sep;
char *t, temp, num[50], *fs = 0;
int n, tempstat, arg3type;
y = execute(a[0]); /* source string */
- s = getsval(y);
+ origs = s = strdup(getsval(y));
arg3type = ptoi(a[3]);
if (a[2] == 0) /* fs string */
fs = *FS;
@@ -1259,6 +1259,12 @@ Cell *split(Node **a, int nnn) /* split(
ap->sval = (char *) makesymtab(NSYMTAB);
n = 0;
+ if (arg3type == REGEXPR && strlen((char*)((fa*)a[2])->restr) == 0) {
+ /* split(s, a, //); have to arrange that it looks like empty sep */
+ arg3type = 0;
+ fs = EMPTY;
+ sep = 0;
+ }
if (*s != '\0' && (strlen(fs) > 1 || arg3type == REGEXPR)) { /* reg expr */
fa *pfa;
if (arg3type == REGEXPR) { /* it's ready already */
@@ -1353,6 +1359,7 @@ Cell *split(Node **a, int nnn) /* split(
}
tempfree(ap);
tempfree(y);
+ free(origs);
if (a[2] != 0 && arg3type == STRING) {
tempfree(x);
}
@@ -1604,7 +1611,8 @@ Cell *bltin(Node **a, int n) /* builtin
u = time((time_t *)0);
else
u = getfval(x);
- srand(tmp = (unsigned int) u);
+ tmp = (unsigned int) u;
+ srand(tmp);
u = srand_seed;
srand_seed = tmp;
break;
@@ -1727,6 +1735,7 @@ struct files {
const char *fname;
int mode; /* '|', 'a', 'w' => LE/LT, GT */
} *files;
+
size_t nfiles;
void stdinit(void) /* in case stdin, etc., are not constants */
Index: src/external/historical/nawk/dist/main.c
diff -u src/external/historical/nawk/dist/main.c:1.7 src/external/historical/nawk/dist/main.c:1.8
--- src/external/historical/nawk/dist/main.c:1.7 Mon Mar 12 14:17:12 2012
+++ src/external/historical/nawk/dist/main.c Fri Dec 28 21:44:26 2012
@@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE
THIS SOFTWARE.
****************************************************************/
-const char *version = "version 20100523";
+const char *version = "version 20121220";
#if HAVE_NBTOOL_CONFIG_H
#include "nbtool_config.h"
@@ -42,7 +42,7 @@ extern char **environ;
extern int nfields;
int dbg = 0;
-unsigned int srand_seed;
+unsigned int srand_seed = 1;
char *cmdname; /* gets argv[0] for error messages */
extern FILE *yyin; /* lex input file */
char *lexprog; /* points to program argument if it exists */
@@ -101,6 +101,7 @@ __dead static void fpecatch(int n
int main(int argc, char *argv[])
{
const char *fs = NULL;
+ char *fn;
setlocale(LC_ALL, "");
setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */
@@ -146,10 +147,15 @@ int main(int argc, char *argv[])
safe = 1;
break;
case 'f': /* next argument is program filename */
- argc--;
- argv++;
- if (argc <= 1)
- FATAL("no program filename");
+ if (argv[1][2] != 0) /* arg is -fsomething */
+ fn = &argv[1][2];
+ else {
+ argc--;
+ argv++;
+ if (argc <= 1)
+ FATAL("no program filename");
+ fn = argv[1];
+ }
if (npfile >= maxpfile) {
maxpfile += 20;
pfile = realloc(pfile,
@@ -158,7 +164,7 @@ int main(int argc, char *argv[])
FATAL("error allocating space for "
"-f options");
}
- pfile[npfile++] = argv[1];
+ pfile[npfile++] = fn;
break;
case 'F': /* set field separator */
if (argv[1][2] != 0) { /* arg is -Fsomething */
@@ -172,10 +178,20 @@ int main(int argc, char *argv[])
WARNING("field separator FS is empty");
break;
case 'v': /* -v a=1 to be done NOW. one -v for each */
- if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1]))
- setclvar(argv[1]);
- else if (argv[1][2] != '\0')
- setclvar(&argv[1][2]);
+ if (argv[1][2] != 0) { /* arg is -vsomething */
+ if (isclvar(&argv[1][2]))
+ setclvar(&argv[1][2]);
+ else
+ FATAL("invalid -v option argument: %s", &argv[1][2]);
+ } else { /* arg is -v something */
+ argc--; argv++;
+ if (argc <= 1)
+ FATAL("no variable name");
+ if (isclvar(argv[1]))
+ setclvar(argv[1]);
+ else
+ FATAL("invalid -v option argument: %s", argv[1]);
+ }
break;
case 'd':
dbg = atoi(&argv[1][2]);
Index: src/external/historical/nawk/dist/makefile
diff -u src/external/historical/nawk/dist/makefile:1.2 src/external/historical/nawk/dist/makefile:1.3
--- src/external/historical/nawk/dist/makefile:1.2 Thu Aug 26 10:55:20 2010
+++ src/external/historical/nawk/dist/makefile Fri Dec 28 21:44:26 2012
@@ -32,22 +32,24 @@ CC = /opt/pure/purify/purify cc
CC = cc
CC = gcc -Wall -g -Wwrite-strings
CC = gcc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov
-CC = gcc -O4
+CC = gcc -g -Wall -pedantic
+CC = gcc -O4 -Wall -pedantic -fno-strict-aliasing
-YACC = bison -y
-YACC = yacc
-YFLAGS = -d
+YACC = bison -d -y
+YACC = yacc -d -S
+#YFLAGS = -d -S
+ # -S uses sprintf in yacc parser instead of sprint
OFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o
SOURCE = awk.h ytab.c ytab.h proto.h awkgram.y lex.c b.c main.c \
- maketab.c parse.c lib.c run.c tran.c proctab.c missing95.c
+ maketab.c parse.c lib.c run.c tran.c proctab.c
LISTING = awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \
- lib.c run.c tran.c missing95.c
+ lib.c run.c tran.c
-SHIP = README FIXES $(SOURCE) ytab[ch].bak makefile makefile.win \
- vcvars32.bat buildwin.bat awk.1
+SHIP = README FIXES $(SOURCE) ytab[ch].bak makefile \
+ awk.1
a.out: ytab.o $(OFILES)
$(CC) $(CFLAGS) ytab.o $(OFILES) $(ALLOC) -lm
Index: src/external/historical/nawk/dist/proto.h
diff -u src/external/historical/nawk/dist/proto.h:1.6 src/external/historical/nawk/dist/proto.h:1.7
--- src/external/historical/nawk/dist/proto.h:1.6 Sat Mar 10 14:18:48 2012
+++ src/external/historical/nawk/dist/proto.h Fri Dec 28 21:44:26 2012
@@ -46,7 +46,7 @@ extern void freetr(Node *);
extern int hexstr(const uschar **);
extern int quoted(const uschar **);
extern char *cclenter(const char *);
-extern void overflo(const char *) __dead;
+extern void overflo(const char *) __attribute__((__noreturn__));
extern void cfoll(fa *, Node *);
extern int first(Node *);
extern void follow(Node *);
@@ -123,7 +123,7 @@ extern void makefields(int, int);
extern void growfldtab(int n);
extern int getrec(uschar **, int *, int);
extern void nextfile(void);
-extern int readrec(uschar **buf, int *bufsize, FILE *inf, int newflag);
+extern int readrec(uschar **buf, int *, FILE *, int);
extern char *getargv(int);
extern void setclvar(char *);
extern void fldbld(void);
@@ -139,7 +139,7 @@ extern void bcheck2(int, int, int);
extern void SYNTAX(const char *, ...)
__attribute__((__format__(__printf__, 1, 2)));
extern void FATAL(const char *, ...) __dead
- __attribute__((__format__(__printf__, 1, 2)));
+ __attribute__((__format__(__printf__, 1, 2), __noreturn__));
extern void WARNING(const char *, ...)
__attribute__((__format__(__printf__, 1, 2)));
extern void error(void);
@@ -149,7 +149,7 @@ extern double errcheck(double, const cha
extern int isclvar(const char *);
extern int is_number(const char *);
-extern int adjbuf(uschar **pb, int *sz, int min, int q, uschar **pbp, const char *what);
+extern int adjbuf(uschar **, int *, int, int, uschar **, const char *);
extern void run(Node *);
extern Cell *execute(Node *);
extern Cell *program(Node **, int);
Index: src/external/historical/nawk/dist/tran.c
diff -u src/external/historical/nawk/dist/tran.c:1.6 src/external/historical/nawk/dist/tran.c:1.7
--- src/external/historical/nawk/dist/tran.c:1.6 Mon Dec 10 14:49:05 2012
+++ src/external/historical/nawk/dist/tran.c Fri Dec 28 21:44:26 2012
@@ -322,6 +322,8 @@ Awkfloat setfval(Cell *vp, Awkfloat f) /
xfree(vp->sval); /* free any previous string */
vp->tval &= ~STR; /* mark string invalid */
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", vp, NN(vp->nval), f, vp->tval) );
return vp->fval = f;
}
@@ -389,7 +391,8 @@ Awkfloat getfval(Cell *vp) /* get float
if (is_number(vp->sval) && !(vp->tval&CON))
vp->tval |= NUM; /* make NUM only sparingly */
}
- dprintf( ("getfval %p: %s = %g, t=%o\n", vp, NN(vp->nval), vp->fval, vp->tval) );
+ dprintf( ("getfval %p: %s = %g, t=%o\n",
+ vp, NN(vp->nval), vp->fval, vp->tval) );
return(vp->fval);
}
@@ -415,7 +418,8 @@ static char *get_str_val(Cell *vp, char
vp->tval |= STR;
setfree(vp);
}
- dprintf( ("getsval %p: %s = \"%s (%p)\", t=%o\n", vp, NN(vp->nval), vp->sval, vp->sval, vp->tval) );
+ dprintf( ("getsval %p: %s = \"%s (%p)\", t=%o\n",
+ vp, NN(vp->nval), vp->sval, vp->sval, vp->tval) );
return(vp->sval);
}