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