mirror of
https://github.com/mirror/make.git
synced 2025-02-26 11:50:42 +08:00
VMS fix.
This commit is contained in:
parent
1f16ee5c2d
commit
fafeb87027
@ -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>
|
2004-01-21 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* job.c (load_too_high): Implement an algorithm to control the
|
* 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)
|
vms_handle_apos (char *p)
|
||||||
{
|
{
|
||||||
int alast;
|
int alast;
|
||||||
int inside;
|
|
||||||
|
|
||||||
#define SEPCHARS ",/()= "
|
#define SEPCHARS ",/()= "
|
||||||
|
|
||||||
inside = 0;
|
alast = 0;
|
||||||
|
|
||||||
while (*p != 0)
|
while (*p != 0)
|
||||||
{
|
{
|
||||||
if (*p == '"')
|
if (*p == '"')
|
||||||
{
|
{
|
||||||
if (inside)
|
if (alast)
|
||||||
{
|
{
|
||||||
while ((alast > 0)
|
alast = 0;
|
||||||
&& (*p == '"'))
|
p++;
|
||||||
{
|
|
||||||
p++;
|
|
||||||
alast--;
|
|
||||||
}
|
|
||||||
if (alast == 0)
|
|
||||||
inside = 0;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fprintf (stderr, _("Syntax error, still inside '\"'\n"));
|
|
||||||
exit (3);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
p++;
|
p++;
|
||||||
if (strchr (SEPCHARS, *p))
|
if (strchr (SEPCHARS, *p))
|
||||||
break;
|
break;
|
||||||
inside = 1;
|
|
||||||
alast = 1;
|
alast = 1;
|
||||||
while (*p == '"')
|
|
||||||
{
|
|
||||||
alast++;
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2232,7 +2214,7 @@ child_execute_job (char *argv, struct child *child)
|
|||||||
/* Nice places for line breaks are after strings, after
|
/* Nice places for line breaks are after strings, after
|
||||||
comma or space and before slash. */
|
comma or space and before slash. */
|
||||||
case '"':
|
case '"':
|
||||||
q = vms_handle_apos (q + 1);
|
q = vms_handle_apos (q);
|
||||||
sep = q;
|
sep = q;
|
||||||
break;
|
break;
|
||||||
case ',':
|
case ',':
|
||||||
|
Loading…
Reference in New Issue
Block a user