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
BSD 3 development
[unix-history]
/
usr
/
src
/
cmd
/
sdb
/
sub.c
diff --git
a/usr/src/cmd/sdb/sub.c
b/usr/src/cmd/sdb/sub.c
index
ba0227e
..
60a789d
100644
(file)
--- a/
usr/src/cmd/sdb/sub.c
+++ b/
usr/src/cmd/sdb/sub.c
@@
-54,6
+54,7
@@
char *s; {
printf("%s\n", s);
}
printf("%s\n", s);
}
+char *
cpstr(p,q)
char *p, *q; {
do {
cpstr(p,q)
char *p, *q; {
do {
@@
-77,7
+78,7
@@
chkerr()
{
IF errflg ORF mkfault
THEN error(errflg);
{
IF errflg ORF mkfault
THEN error(errflg);
-
reset(
);
+
longjmp(env, 0
);
FI
}
FI
}
@@
-98,9
+99,7
@@
eqstr(s1, s2)
longseek(f, a)
L_INT a;
{
longseek(f, a)
L_INT a;
{
-#ifndef EDDT
return(lseek(f,(long) a,0) != -1);
return(lseek(f,(long) a,0) != -1);
-#endif
}
}
@@
-149,8
+148,12
@@
char *pat, *str; {
p = pat[0];
s = str[0];
if (cnt == 8) return(1);
p = pat[0];
s = str[0];
if (cnt == 8) return(1);
- if (p == '?') return(eqpatr(pat+1, str+1, cnt+1));
+ if (p == '?') {
+ if (s == '\0') return(0);
+ return(eqpatr(pat+1, str+1, cnt+1));
+ }
if (p == '*') {
if (p == '*') {
+ if (pat[1] == '\0') return(1);
for(i=1; i<8-cnt; i++) {
if (eqpatr(pat+1, str+i, cnt+i)) return(1);
if (str[i] == '\0') return(0);
for(i=1; i<8-cnt; i++) {
if (eqpatr(pat+1, str+i, cnt+i)) return(1);
if (str[i] == '\0') return(0);
@@
-268,4
+271,3
@@
char *p; {
}
return(value);
}
}
return(value);
}
-