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
Bell 32V release
[unix-history]
/
usr
/
src
/
cmd
/
adb
/
command.c
diff --git
a/usr/src/cmd/adb/command.c
b/usr/src/cmd/adb/command.c
index
e4a7885
..
9fef4dd
100644
(file)
--- a/
usr/src/cmd/adb/command.c
+++ b/
usr/src/cmd/adb/command.c
@@
-6,6
+6,7
@@
*/
#include "defs.h"
*/
#include "defs.h"
+SCCSID(@(#)command.c 2.4);
MSG BADEQ;
MSG BADEQ;
@@
-23,14
+24,14
@@
INT mkfault;
STRING errflg;
CHAR lastc;
STRING errflg;
CHAR lastc;
-CHAR eqformat[128]
"o
";
-CHAR stformat[128]
"o
\"= \"^i";
-
POS *endhdr
;
+CHAR eqformat[128]
= "z
";
+CHAR stformat[128]
= "X
\"= \"^i";
+
struct user u
;
L_INT dot;
L_INT ditto;
INT dotinc;
L_INT dot;
L_INT ditto;
INT dotinc;
-INT lastcom '=';
+INT lastcom
=
'=';
L_INT var[];
L_INT locval;
L_INT locmsk;
L_INT var[];
L_INT locval;
L_INT locmsk;
@@
-86,7
+87,7
@@
CHAR defcom;
goto trystar;
case '=':
goto trystar;
case '=':
- itype=NSP; ptype=
ASYM
;
+ itype=NSP; ptype=
0
;
goto trypr;
case '?':
goto trypr;
case '?':
@@
-129,13
+130,11
@@
CHAR defcom;
case 'l':
/*search for exp*/
IF eqcom THEN error(BADEQ); FI
case 'l':
/*search for exp*/
IF eqcom THEN error(BADEQ); FI
- dotinc=
2
; savdot=dot;
+ dotinc=
(longpr?4:2)
; savdot=dot;
expr(1); locval=expv;
IF expr(0) THEN locmsk=expv; ELSE locmsk = -1L; FI
expr(1); locval=expv;
IF expr(0) THEN locmsk=expv; ELSE locmsk = -1L; FI
- LOOP w=leng(get(dot,itype));
- IF longpr
- THEN w=itol(w,get(inkdot(2),itype));
- FI
+ IF !longpr THEN locmsk &= 0xFFFF; locval &= 0xFFFF; FI
+ LOOP w=get(dot,itype);
IF errflg ORF mkfault ORF (w&locmsk)==locval THEN break; FI
dot=inkdot(dotinc);
POOL
IF errflg ORF mkfault ORF (w&locmsk)==locval THEN break; FI
dot=inkdot(dotinc);
POOL
@@
-154,8
+153,8
@@
CHAR defcom;
errflg=0; dot=savdot;
IF longpr
THEN put(dot,itype,expv);
errflg=0; dot=savdot;
IF longpr
THEN put(dot,itype,expv);
+ ELSE put(dot,itype,itol(get(dot+2,itype),expv));
FI
FI
- put((longpr?inkdot(2):dot),itype,shorten(expv));
savdot=dot;
printf("=%8t"); exform(1,wformat,itype,ptype);
newline();
savdot=dot;
printf("=%8t"); exform(1,wformat,itype,ptype);
newline();
@@
-177,8
+176,8
@@
CHAR defcom;
case '>':
lastcom=0; savc=rdc();
IF regptr=getreg(savc)
case '>':
lastcom=0; savc=rdc();
IF regptr=getreg(savc)
- THEN
endhdr[regptr]=shorten(dot)
;
- ptrace(WUREGS,pid,2*(512+regptr),
endhdr[regptr]
);
+ THEN
* (ADDR *) (((ADDR)&u)+regptr)=dot
;
+ ptrace(WUREGS,pid,2*(512+regptr),
* (ADDR *) (((ADDR)&u)+regptr)
);
ELIF (modifier=varchk(savc)) != -1
THEN var[modifier]=dot;
ELSE error(BADVAR);
ELIF (modifier=varchk(savc)) != -1
THEN var[modifier]=dot;
ELSE error(BADVAR);
@@
-187,7
+186,7
@@
CHAR defcom;
case '!':
lastcom=0;
case '!':
lastcom=0;
-
unox
(); break;
+
shell
(); break;
case '$':
lastcom=0;
case '$':
lastcom=0;