diff options
author | ru <ru@FreeBSD.org> | 2010-01-10 08:02:07 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2010-01-10 08:02:07 +0000 |
commit | 270ba02de1ffa85c9293d73669cae997f42c62b1 (patch) | |
tree | f4923317980c5c94957c3b5a4b1c4906654e92d1 /usr.bin/awk/main.c.diff | |
parent | dd1716139623593608ab5a62cd153c48b97bd043 (diff) | |
download | FreeBSD-src-270ba02de1ffa85c9293d73669cae997f42c62b1.zip FreeBSD-src-270ba02de1ffa85c9293d73669cae997f42c62b1.tar.gz |
Apply patches directly to sources. Their effect is as follows:
- Make one-true-awk respect locale's collating order in [a-z]
bracket expressions, until a more complete fix (like handing
BREs) is ready.
- Don't require a space between -[fv] and its argument.
Diffstat (limited to 'usr.bin/awk/main.c.diff')
-rw-r--r-- | usr.bin/awk/main.c.diff | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/usr.bin/awk/main.c.diff b/usr.bin/awk/main.c.diff deleted file mode 100644 index 325efff..0000000 --- a/usr.bin/awk/main.c.diff +++ /dev/null @@ -1,66 +0,0 @@ -$FreeBSD$ - -Index: main.c -=================================================================== ---- main.c (revision 201951) -+++ main.c (working copy) -@@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PE - THIS SOFTWARE. - ****************************************************************/ - --const char *version = "version 20091126"; -+const char *version = "version 20091126 (FreeBSD)"; - - #define DEBUG - #include <stdio.h> -@@ -58,6 +58,7 @@ int main(int argc, char *argv[]) - const char *fs = NULL; - - setlocale(LC_CTYPE, ""); -+ setlocale(LC_COLLATE, ""); - setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */ - cmdname = argv[0]; - if (argc == 1) { -@@ -86,13 +87,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 */ -@@ -111,8 +117,14 @@ int main(int argc, char *argv[]) - WARNING("field separator FS is empty"); - break; - case 'v': /* -v a=1 to be done NOW. one -v for each */ -- if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) -- setclvar(argv[1]); -+ if (argv[1][2] != 0) { /* arg is -vsomething */ -+ if (argv[1][2] != 0) -+ setclvar(&argv[1][2]); -+ } else { /* arg is -v something */ -+ argc--; argv++; -+ if (argc > 1 && isclvar(argv[1])) -+ setclvar(argv[1]); -+ } - break; - case 'd': - dbg = atoi(&argv[1][2]); |