mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-27 06:27:51 +00:00
VMS fix.
This commit is contained in:
parent
1f16ee5c2d
commit
fafeb87027
2 changed files with 12 additions and 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
|
||||
|
|
30
job.c
30
job.c
|
@ -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 ',':
|
||||
|
|
Loading…
Reference in a new issue