=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/awk/run.c,v retrieving revision 1.29 retrieving revision 1.30 diff -c -r1.29 -r1.30 *** src/usr.bin/awk/run.c 2008/06/04 14:04:42 1.29 --- src/usr.bin/awk/run.c 2008/10/06 20:38:33 1.30 *************** *** 1,4 **** ! /* $OpenBSD: run.c,v 1.29 2008/06/04 14:04:42 pyr Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved --- 1,4 ---- ! /* $OpenBSD: run.c,v 1.30 2008/10/06 20:38:33 millert Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved *************** *** 50,69 **** } */ ! #ifdef _NFILE ! #ifndef FOPEN_MAX ! #define FOPEN_MAX _NFILE ! #endif ! #endif - #ifndef FOPEN_MAX - #define FOPEN_MAX 40 /* max number of open files */ - #endif - - #ifndef RAND_MAX - #define RAND_MAX 32767 /* all that ansi guarantees */ - #endif - jmp_buf env; int use_arc4 = 1; extern int pairstack[]; --- 50,70 ---- } */ ! /* do we really need these? */ ! /* #ifdef _NFILE */ ! /* #ifndef FOPEN_MAX */ ! /* #define FOPEN_MAX _NFILE */ ! /* #endif */ ! /* #endif */ ! /* */ ! /* #ifndef FOPEN_MAX */ ! /* #define FOPEN_MAX 40 */ /* max number of open files */ ! /* #endif */ ! /* */ ! /* #ifndef RAND_MAX */ ! /* #define RAND_MAX 32767 */ /* all that ansi guarantees */ ! /* #endif */ jmp_buf env; int use_arc4 = 1; extern int pairstack[]; *************** *** 115,120 **** --- 116,122 ---- if (rminlen) minlen += quantum - rminlen; tbuf = (char *) realloc(*pbuf, minlen); + 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); *************** *** 466,472 **** for (np = a[1]; np; np = np->nnext) { y = execute(np); /* subscript */ s = getsval(y); ! if (!adjbuf(&buf, &bufsz, strlen(buf)+strlen(s)+nsub+1, recsize, 0, 0)) FATAL("out of memory for %s[%s...]", x->nval, buf); strlcat(buf, s, bufsz); if (np->nnext) --- 468,474 ---- for (np = a[1]; np; np = np->nnext) { y = execute(np); /* subscript */ s = getsval(y); ! if (!adjbuf(&buf, &bufsz, strlen(buf)+strlen(s)+nsub+1, recsize, 0, "array")) FATAL("out of memory for %s[%s...]", x->nval, buf); strlcat(buf, s, bufsz); if (np->nnext) *************** *** 513,519 **** for (np = a[1]; np; np = np->nnext) { y = execute(np); /* subscript */ s = getsval(y); ! if (!adjbuf(&buf, &bufsz, strlen(buf)+strlen(s)+nsub+1, recsize, 0, 0)) FATAL("out of memory deleting %s[%s...]", x->nval, buf); strlcat(buf, s, bufsz); if (np->nnext) --- 515,521 ---- for (np = a[1]; np; np = np->nnext) { y = execute(np); /* subscript */ s = getsval(y); ! if (!adjbuf(&buf, &bufsz, strlen(buf)+strlen(s)+nsub+1, recsize, 0, "awkdelete")) FATAL("out of memory deleting %s[%s...]", x->nval, buf); strlcat(buf, s, bufsz); if (np->nnext) *************** *** 552,558 **** for (p = a[0]; p; p = p->nnext) { x = execute(p); /* expr */ s = getsval(x); ! if (!adjbuf(&buf, &bufsz, strlen(buf)+strlen(s)+nsub+1, recsize, 0, 0)) FATAL("out of memory deleting %s[%s...]", x->nval, buf); strlcat(buf, s, bufsz); tempfree(x); --- 554,560 ---- for (p = a[0]; p; p = p->nnext) { x = execute(p); /* expr */ s = getsval(x); ! if (!adjbuf(&buf, &bufsz, strlen(buf)+strlen(s)+nsub+1, recsize, 0, "intest")) FATAL("out of memory deleting %s[%s...]", x->nval, buf); strlcat(buf, s, bufsz); tempfree(x); *************** *** 822,828 **** if ((fmt = (char *) malloc(fmtsz)) == NULL) FATAL("out of memory in format()"); while (*s) { ! adjbuf(&buf, &bufsize, MAXNUMSIZE+1+p-buf, recsize, &p, "format"); if (*s != '%') { *p++ = *s++; continue; --- 824,830 ---- if ((fmt = (char *) malloc(fmtsz)) == NULL) FATAL("out of memory in format()"); while (*s) { ! adjbuf(&buf, &bufsize, MAXNUMSIZE+1+p-buf, recsize, &p, "format1"); if (*s != '%') { *p++ = *s++; continue; *************** *** 836,844 **** fmtwd = atoi(s+1); if (fmtwd < 0) fmtwd = -fmtwd; ! adjbuf(&buf, &bufsize, fmtwd+1+p-buf, recsize, &p, "format"); for (t = fmt; (*t++ = *s) != '\0'; s++) { ! if (!adjbuf(&fmt, &fmtsz, MAXNUMSIZE+1+t-fmt, recsize, &t, 0)) FATAL("format item %.30s... ran format() out of memory", os); if (isalpha((uschar)*s) && *s != 'l' && *s != 'h' && *s != 'L') break; /* the ansi panoply */ --- 838,846 ---- fmtwd = atoi(s+1); if (fmtwd < 0) fmtwd = -fmtwd; ! adjbuf(&buf, &bufsize, fmtwd+1+p-buf, recsize, &p, "format2"); for (t = fmt; (*t++ = *s) != '\0'; s++) { ! if (!adjbuf(&fmt, &fmtsz, MAXNUMSIZE+1+t-fmt, recsize, &t, "format3")) FATAL("format item %.30s... ran format() out of memory", os); if (isalpha((uschar)*s) && *s != 'l' && *s != 'h' && *s != 'L') break; /* the ansi panoply */ *************** *** 858,864 **** *t = '\0'; if (fmtwd < 0) fmtwd = -fmtwd; ! adjbuf(&buf, &bufsize, fmtwd+1+p-buf, recsize, &p, "format"); switch (*s) { case 'f': case 'e': case 'g': case 'E': case 'G': --- 860,866 ---- *t = '\0'; if (fmtwd < 0) fmtwd = -fmtwd; ! adjbuf(&buf, &bufsize, fmtwd+1+p-buf, recsize, &p, "format4"); switch (*s) { case 'f': case 'e': case 'g': case 'E': case 'G': *************** *** 892,898 **** n = MAXNUMSIZE; if (fmtwd > n) n = fmtwd; ! adjbuf(&buf, &bufsize, 1+n+p-buf, recsize, &p, "format"); switch (flag) { case '?': /* unknown, so dump it too */ snprintf(p, buf + bufsize - p, "%s", fmt); --- 894,900 ---- n = MAXNUMSIZE; if (fmtwd > n) n = fmtwd; ! adjbuf(&buf, &bufsize, 1+n+p-buf, recsize, &p, "format5"); switch (flag) { case '?': /* unknown, so dump it too */ snprintf(p, buf + bufsize - p, "%s", fmt); *************** *** 900,906 **** n = strlen(t); if (fmtwd > n) n = fmtwd; ! adjbuf(&buf, &bufsize, 1+strlen(p)+n+p-buf, recsize, &p, "format"); p += strlen(p); snprintf(p, buf + bufsize - p, "%s", t); break; --- 902,908 ---- n = strlen(t); if (fmtwd > n) n = fmtwd; ! adjbuf(&buf, &bufsize, 1+strlen(p)+n+p-buf, recsize, &p, "format6"); p += strlen(p); snprintf(p, buf + bufsize - p, "%s", t); break; *************** *** 912,918 **** n = strlen(t); if (fmtwd > n) n = fmtwd; ! if (!adjbuf(&buf, &bufsize, 1+n+p-buf, recsize, &p, 0)) FATAL("huge string/format (%d chars) in printf %.30s... ran format() out of memory", n, t); snprintf(p, buf + bufsize - p, fmt, t); break; --- 914,920 ---- n = strlen(t); if (fmtwd > n) n = fmtwd; ! if (!adjbuf(&buf, &bufsize, 1+n+p-buf, recsize, &p, "format7")) FATAL("huge string/format (%d chars) in printf %.30s... ran format() out of memory", n, t); snprintf(p, buf + bufsize - p, fmt, t); break;