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
Swapped .f and .F suffix precedence
[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
160be61
..
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.
2 (Berkeley) 82/03/14
";
+static char *sccsid = "@(#)dosys.c 4.
7 (Berkeley) 83/06/22
";
#include "defs"
#include <signal.h>
#include "defs"
#include <signal.h>
@@
-80,23
+80,24
@@
return(status);
doclose() /* Close open directory files before exec'ing */
{
doclose() /* Close open directory files before exec'ing */
{
-register struct
opendi
r *od;
+register struct
dirhd
r *od;
for (od = firstod; od; od = od->nxtopendir)
for (od = firstod; od; od = od->nxtopendir)
- if (od->dirfc != NULL)
- /* fclose(od->dirfc); */
- close(od->dirfc->_file);
+ if (od->dirfc != NULL) {
+ closedir(od->dirfc);
+ od->dirfc = NULL;
+ }
}
\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' )
@@
-107,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;
@@
-117,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();
@@
-131,12
+134,10
@@
return( await() );
\f
#include <errno.h>
\f
#include <errno.h>
-#include <sys/types.h>
#include <sys/stat.h>
#include <sys/stat.h>
-
touch(force, name)
int force;
char *name;
touch(force, name)
int force;
char *name;
@@
-145,11
+146,7
@@
struct stat stbuff;
char junk[1];
int fd;
char junk[1];
int fd;
-#if vax
-if (lstat(name, &stbuff) < 0)
-#else
if( stat(name,&stbuff) < 0)
if( stat(name,&stbuff) < 0)
-#endif
if(force)
goto create;
else
if(force)
goto create;
else