svn commit: r224776 - in head: . contrib/one-true-awk

Ruslan Ermilov ru at FreeBSD.org
Thu Aug 11 10:29:11 UTC 2011


Author: ru
Date: Thu Aug 11 10:29:10 2011
New Revision: 224776
URL: http://svn.freebsd.org/changeset/base/224776

Log:
  - Merged awk upstream that includes a fix for a bug exposed by kmod_syms.mk.
  - Provide a build aid for those who already have a buggy awk(1) installed.
  
  Approved by:	re (kib)

Modified:
  head/Makefile.inc1
  head/contrib/one-true-awk/FIXES
  head/contrib/one-true-awk/lib.c
  head/contrib/one-true-awk/main.c
Directory Properties:
  head/contrib/one-true-awk/   (props changed)

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Thu Aug 11 10:24:09 2011	(r224775)
+++ head/Makefile.inc1	Thu Aug 11 10:29:10 2011	(r224776)
@@ -1014,6 +1014,10 @@ _lex=		usr.bin/lex
 _yacc=		usr.bin/yacc
 .endif
 
+.if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041
+_awk=		usr.bin/awk
+.endif
+
 .if ${BOOTSTRAPPING} < 700018
 _gensnmptree=	usr.sbin/bsnmpd/gensnmptree
 .endif
@@ -1052,6 +1056,7 @@ bootstrap-tools:
     ${_groff} \
     ${_ar} \
     ${_dtc} \
+    ${_awk} \
     usr.bin/lorder \
     usr.bin/makewhatis \
     ${_mklocale} \

Modified: head/contrib/one-true-awk/FIXES
==============================================================================
--- head/contrib/one-true-awk/FIXES	Thu Aug 11 10:24:09 2011	(r224775)
+++ head/contrib/one-true-awk/FIXES	Thu Aug 11 10:29:10 2011	(r224776)
@@ -25,6 +25,10 @@ THIS SOFTWARE.
 This file lists all bug fixes, changes, etc., made since the AWK book
 was sent to the printers in August, 1987.
 
+Aug 10, 2011:
+	another fix to avoid core dump with delete(ARGV); again, many thanks
+	to ruslan ermilov.
+
 Aug 7, 2011:
 	split(s, a, //) now behaves the same as split(s, a, "")
 

Modified: head/contrib/one-true-awk/lib.c
==============================================================================
--- head/contrib/one-true-awk/lib.c	Thu Aug 11 10:24:09 2011	(r224775)
+++ head/contrib/one-true-awk/lib.c	Thu Aug 11 10:29:10 2011	(r224776)
@@ -89,8 +89,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 */

Modified: head/contrib/one-true-awk/main.c
==============================================================================
--- head/contrib/one-true-awk/main.c	Thu Aug 11 10:24:09 2011	(r224775)
+++ head/contrib/one-true-awk/main.c	Thu Aug 11 10:29:10 2011	(r224776)
@@ -25,7 +25,7 @@ THIS SOFTWARE.
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-const char	*version = "version 20110807 (FreeBSD)";
+const char	*version = "version 20110810 (FreeBSD)";
 
 #define DEBUG
 #include <stdio.h>


More information about the svn-src-all mailing list