diff options
author | Paul Smith <psmith@gnu.org> | 2004-02-21 17:10:41 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2004-02-21 17:10:41 +0000 |
commit | fafeb870272fd3b3623d8eb8241c915af39f5855 (patch) | |
tree | b9e7e79ca7ba31bf0a6fce489e33444aeb67c7b2 | |
parent | 1f16ee5c2d482a75504fbbcf70e9e2a44acc1339 (diff) | |
download | gunmake-fafeb870272fd3b3623d8eb8241c915af39f5855.tar.gz |
VMS fix.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | job.c | 30 |
2 files changed, 12 insertions, 24 deletions
@@ -1,3 +1,9 @@ +2004-02-04 Paul D. Smith <psmith@gnu.org> + + * job.c (vms_handle_apos) [VMS]: Fix various string handling + situations in VMS DCL. Fixes Savannah bug #5533. Fix provided by + Hartmut Becker <Hartmut.Becker@hp.com>. + 2004-01-21 Paul D. Smith <psmith@gnu.org> * job.c (load_too_high): Implement an algorithm to control the @@ -370,44 +370,26 @@ static char * vms_handle_apos (char *p) { int alast; - int inside; #define SEPCHARS ",/()= " - inside = 0; + alast = 0; while (*p != 0) { if (*p == '"') { - if (inside) - { - while ((alast > 0) - && (*p == '"')) - { - p++; - alast--; - } - if (alast == 0) - inside = 0; - else - { - fprintf (stderr, _("Syntax error, still inside '\"'\n")); - exit (3); - } + if (alast) + { + alast = 0; + p++; } else { p++; if (strchr (SEPCHARS, *p)) break; - inside = 1; alast = 1; - while (*p == '"') - { - alast++; - p++; - } } } else @@ -2232,7 +2214,7 @@ child_execute_job (char *argv, struct child *child) /* Nice places for line breaks are after strings, after comma or space and before slash. */ case '"': - q = vms_handle_apos (q + 1); + q = vms_handle_apos (q); sep = q; break; case ',': |