summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2011-05-06 14:08:24 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2011-05-06 14:08:24 +0000
commite2f76e526c9828f75cb69d51857e9efd1ed0684f (patch)
tree3bd96c6c930a25429b3c0cf7413942cb20dd8d99
parentf11de2916976d54dd9f4f804dda1c290783aaa90 (diff)
downloadsrc-test2-vendor/one-true-awk/20110506.tar.gz
src-test2-vendor/one-true-awk/20110506.zip
-rw-r--r--FIXES5
-rw-r--r--b.c4
-rw-r--r--main.c21
3 files changed, 22 insertions, 8 deletions
diff --git a/FIXES b/FIXES
index 36ef237ed91c..e6edc5309cc1 100644
--- a/FIXES
+++ b/FIXES
@@ -25,6 +25,11 @@ THIS SOFTWARE.
This file lists all bug fixes, changes, etc., made since the AWK book
was sent to the printers in August, 1987.
+May 6, 2011:
+ added #ifdef for isblank.
+ now allows -ffoo as well as -f foo arguments.
+ (thanks, ruslan)
+
May 1, 2011:
after advice from todd miller, kevin lo, ruslan ermilov,
and arnold robbins, changed srand() to return the previous
diff --git a/b.c b/b.c
index a4a46acbf91a..97dc32a05730 100644
--- a/b.c
+++ b/b.c
@@ -748,7 +748,11 @@ 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 },
diff --git a/main.c b/main.c
index a125bc1eb1fb..9eff3d751c6b 100644
--- a/main.c
+++ b/main.c
@@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
****************************************************************/
-const char *version = "version 20110501";
+const char *version = "version 20110506";
#define DEBUG
#include <stdio.h>
@@ -91,13 +91,18 @@ 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 (npfile >= MAX_PFILE - 1)
- FATAL("too many -f options");
- pfile[npfile++] = argv[1];
+ if (argv[1][2] != 0) { /* arg is -fsomething */
+ if (npfile >= MAX_PFILE - 1)
+ FATAL("too many -f options");
+ pfile[npfile++] = &argv[1][2];
+ } else { /* arg is -f something */
+ argc--; argv++;
+ if (argc <= 1)
+ FATAL("no program filename");
+ if (npfile >= MAX_PFILE - 1)
+ FATAL("too many -f options");
+ pfile[npfile++] = argv[1];
+ }
break;
case 'F': /* set field separator */
if (argv[1][2] != 0) { /* arg is -Fsomething */