projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed should_print so that C unions (VARNTs) aren't printed
[unix-history]
/
usr
/
src
/
old
/
make
/
dosys.c
diff --git
a/usr/src/old/make/dosys.c
b/usr/src/old/make/dosys.c
index
de5fdb9
..
77f39ee
100644
(file)
--- a/
usr/src/old/make/dosys.c
+++ b/
usr/src/old/make/dosys.c
@@
-1,4
+1,4
@@
-static char *sccsid = "@(#)dosys.c 4.
4 (Berkeley) 82/06/17
";
+static char *sccsid = "@(#)dosys.c 4.
7 (Berkeley) 83/06/22
";
#include "defs"
#include <signal.h>
#include "defs"
#include <signal.h>
@@
-91,13
+91,13
@@
for (od = firstod; od; od = od->nxtopendir)
\f
\f
-
+#define MAXARGV 400
doexec(str)
register char *str;
{
register char *t;
doexec(str)
register char *str;
{
register char *t;
-char *argv[
200
];
+char *argv[
MAXARGV
];
register char **p;
while( *str==' ' || *str=='\t' )
register char **p;
while( *str==' ' || *str=='\t' )
@@
-108,6
+108,8
@@
if( *str == '\0' )
p = argv;
for(t = str ; *t ; )
{
p = argv;
for(t = str ; *t ; )
{
+ if (p >= argv + MAXARGV)
+ fatal1("%s: Too many arguments.", str);
*p++ = t;
while(*t!=' ' && *t!='\t' && *t!='\0')
++t;
*p++ = t;
while(*t!=' ' && *t!='\t' && *t!='\0')
++t;
@@
-118,7
+120,7
@@
for(t = str ; *t ; )
*p = NULL;
*p = NULL;
-if((waitpid =
v
fork()) == 0)
+if((waitpid = fork()) == 0)
{
enbint(SIG_DFL);
doclose();
{
enbint(SIG_DFL);
doclose();
@@
-136,7
+138,6
@@
return( await() );
-
touch(force, name)
int force;
char *name;
touch(force, name)
int force;
char *name;