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
new signals make read's restarted, thus must setjmp/longjmp to get
[unix-history]
/
usr
/
src
/
old
/
sh
/
expand.c
diff --git
a/usr/src/old/sh/expand.c
b/usr/src/old/sh/expand.c
index
2f791f0
..
c1fa8f7
100644
(file)
--- a/
usr/src/old/sh/expand.c
+++ b/
usr/src/old/sh/expand.c
@@
-1,4
+1,4
@@
-/* expand.c 4.
1 82/05/07
*/
+/* expand.c 4.
3 83/06/10
*/
#
/*
#
/*
@@
-67,7
+67,7
@@
INT expand(as,rflg)
POOL
IF stat(s,&statb)>=0
ANDF (statb.st_mode&S_IFMT)==S_IFDIR
POOL
IF stat(s,&statb)>=0
ANDF (statb.st_mode&S_IFMT)==S_IFDIR
- ANDF (dirf=opendir(s))
>0
+ ANDF (dirf=opendir(s))
!= NULL
THEN dir++;
FI
count=0;
THEN dir++;
FI
count=0;
@@
-79,7
+79,8
@@
INT expand(as,rflg)
REP IF *rs=='/' THEN rescan=rs; *rs=0; gchain=0 FI
PER *rs++ DONE
REP IF *rs=='/' THEN rescan=rs; *rs=0; gchain=0 FI
PER *rs++ DONE
- WHILE (dp = readdir(dirf)) != NULL ANDF (trapnote&SIGSET) == 0
+ IF setjmp(INTbuf) == 0 THEN trapjmp[INTR] = 1; FI
+ WHILE (trapnote&SIGSET) == 0 ANDF (dp = readdir(dirf)) != NULL
DO IF (*dp->d_name=='.' ANDF *cs!='.')
THEN continue;
FI
DO IF (*dp->d_name=='.' ANDF *cs!='.')
THEN continue;
FI
@@
-87,7
+88,7
@@
INT expand(as,rflg)
THEN addg(s,dp->d_name,rescan); count++;
FI
OD
THEN addg(s,dp->d_name,rescan); count++;
FI
OD
- closedir(dirf);
+ closedir(dirf);
trapjmp[INTR] = 0;
IF rescan
THEN REG ARGPTR rchain;
IF rescan
THEN REG ARGPTR rchain;