From owner-svn-src-vendor@FreeBSD.ORG Sat Jan 9 23:04:24 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1E5F1065672; Sat, 9 Jan 2010 23:04:24 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8FE998FC13; Sat, 9 Jan 2010 23:04:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o09N4Opk042167; Sat, 9 Jan 2010 23:04:24 GMT (envelope-from ru@svn.freebsd.org) Received: (from ru@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o09N4OxO042157; Sat, 9 Jan 2010 23:04:24 GMT (envelope-from ru@svn.freebsd.org) Message-Id: <201001092304.o09N4OxO042157@svn.freebsd.org> From: Ruslan Ermilov Date: Sat, 9 Jan 2010 23:04:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201945 - vendor/one-true-awk/dist X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2010 23:04:24 -0000 Author: ru Date: Sat Jan 9 23:04:24 2010 New Revision: 201945 URL: http://svn.freebsd.org/changeset/base/201945 Log: Vendor import of bwk's 26-Nov-2009 release. Modified: vendor/one-true-awk/dist/FIXES vendor/one-true-awk/dist/b.c vendor/one-true-awk/dist/lib.c vendor/one-true-awk/dist/main.c vendor/one-true-awk/dist/makefile vendor/one-true-awk/dist/maketab.c vendor/one-true-awk/dist/proctab.c vendor/one-true-awk/dist/proto.h vendor/one-true-awk/dist/run.c Modified: vendor/one-true-awk/dist/FIXES ============================================================================== --- vendor/one-true-awk/dist/FIXES Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/FIXES Sat Jan 9 23:04:24 2010 (r201945) @@ -25,6 +25,23 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Nov 26, 2009: + fixed a long-standing issue with when FS takes effect. a + change to FS is now noticed immediately for subsequent splits. + + changed the name getline() to awkgetline() to avoid yet another + name conflict somewhere. + +Feb 11, 2009: + temporarily for now defined HAS_ISBLANK, since that seems to + be the best way through the thicket. isblank arrived in C99, + but seems to be arriving at different systems at different + times. + +Oct 8, 2008: + fixed typo in b.c that set tmpvec wrongly. no one had ever + run into the problem, apparently. thanks to alistair crooks. + Oct 23, 2007: minor fix in lib.c: increase inputFS to 100, change malloc for fields to n+1. Modified: vendor/one-true-awk/dist/b.c ============================================================================== --- vendor/one-true-awk/dist/b.c Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/b.c Sat Jan 9 23:04:24 2010 (r201945) @@ -731,6 +731,7 @@ Node *unary(Node *np) * to nelson beebe for the suggestion; let's see if it works everywhere. */ +/* #define HAS_ISBLANK */ #ifndef HAS_ISBLANK int (isblank)(int c) @@ -876,7 +877,7 @@ int cgoto(fa *f, int s, int c) if (q[j] >= maxsetvec) { maxsetvec *= 4; setvec = (int *) realloc(setvec, maxsetvec * sizeof(int)); - tmpset = (int *) realloc(setvec, maxsetvec * sizeof(int)); + tmpset = (int *) realloc(tmpset, maxsetvec * sizeof(int)); if (setvec == 0 || tmpset == 0) overflo("cgoto overflow"); } Modified: vendor/one-true-awk/dist/lib.c ============================================================================== --- vendor/one-true-awk/dist/lib.c Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/lib.c Sat Jan 9 23:04:24 2010 (r201945) @@ -274,6 +274,7 @@ void fldbld(void) /* create fields from } fr = fields; i = 0; /* number of fields accumulated here */ + strcpy(inputFS, *FS); if (strlen(inputFS) > 1) { /* it's a regular expression */ i = refldbld(r, inputFS); } else if ((sep = *inputFS) == ' ') { /* default whitespace */ Modified: vendor/one-true-awk/dist/main.c ============================================================================== --- vendor/one-true-awk/dist/main.c Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/main.c Sat Jan 9 23:04:24 2010 (r201945) @@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE THIS SOFTWARE. ****************************************************************/ -const char *version = "version 20070501"; +const char *version = "version 20091126"; #define DEBUG #include Modified: vendor/one-true-awk/dist/makefile ============================================================================== --- vendor/one-true-awk/dist/makefile Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/makefile Sat Jan 9 23:04:24 2010 (r201945) @@ -31,7 +31,6 @@ CC = gcc -fprofile-arcs -ftest-coverage CC = gcc -Wall -g CC = cc CC = gcc -O4 -CC = gcc -Wall -g YACC = bison -y Modified: vendor/one-true-awk/dist/maketab.c ============================================================================== --- vendor/one-true-awk/dist/maketab.c Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/maketab.c Sat Jan 9 23:04:24 2010 (r201945) @@ -102,7 +102,7 @@ struct xx { CALL, "call", "call" }, { ARG, "arg", "arg" }, { VARNF, "getnf", "NF" }, - { GETLINE, "getline", "getline" }, + { GETLINE, "awkgetline", "getline" }, { 0, "", "" }, }; Modified: vendor/one-true-awk/dist/proctab.c ============================================================================== --- vendor/one-true-awk/dist/proctab.c Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/proctab.c Sat Jan 9 23:04:24 2010 (r201945) @@ -180,7 +180,7 @@ Cell *(*proctab[93])(Node **, int) = { nullproc, /* NUMBER */ nullproc, /* STRING */ nullproc, /* REGEXPR */ - getline, /* GETLINE */ + awkgetline, /* GETLINE */ substr, /* SUBSTR */ split, /* SPLIT */ jump, /* RETURN */ Modified: vendor/one-true-awk/dist/proto.h ============================================================================== --- vendor/one-true-awk/dist/proto.h Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/proto.h Sat Jan 9 23:04:24 2010 (r201945) @@ -149,7 +149,7 @@ extern Cell *call(Node **, int); extern Cell *copycell(Cell *); extern Cell *arg(Node **, int); extern Cell *jump(Node **, int); -extern Cell *getline(Node **, int); +extern Cell *awkgetline(Node **, int); extern Cell *getnf(Node **, int); extern Cell *array(Node **, int); extern Cell *awkdelete(Node **, int); Modified: vendor/one-true-awk/dist/run.c ============================================================================== --- vendor/one-true-awk/dist/run.c Sat Jan 9 23:02:49 2010 (r201944) +++ vendor/one-true-awk/dist/run.c Sat Jan 9 23:04:24 2010 (r201945) @@ -388,7 +388,7 @@ Cell *jump(Node **a, int n) /* break, co return 0; /* not reached */ } -Cell *getline(Node **a, int n) /* get next line from specific input */ +Cell *awkgetline(Node **a, int n) /* get next line from specific input */ { /* a[0] is variable, a[1] is operator, a[2] is filename */ Cell *r, *x; extern Cell **fldtab; @@ -1159,11 +1159,11 @@ Cell *cat(Node **a, int q) /* a[0] cat a x->sval, y->sval); strcpy(s, x->sval); strcpy(s+n1, y->sval); + tempfree(x); tempfree(y); z = gettemp(); z->sval = s; z->tval = STR; - tempfree(x); return(z); }