home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rdebug21.zip
/
RDBMISC.KEX
< prev
next >
Wrap
Text File
|
1993-03-25
|
3KB
|
96 lines
/*H* RDBMISC.KEX 01-30-93 10:19*/
Arg dborigin dbsession
Parse Arg . parms
Signal On Error; Signal On Failure; Signal On Halt
Signal On Novalue; Signal On Notready; Signal ON Syntax
Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce
Parse Value 'COMMAND!COMMAND SOS' With dbc'!'dbso
dbce '/FN/OPSYS'
dbme='rdbMISC'
dbsys=opsys.1
if dbsys='OS/2' then dbsys='OS2' /*O*/
Parse Value 0 With dbtrc dbtrap dbtrapp dbmsg
If dborigin='?' Then Return tell(dbme)
Parse Value 'command set!command extract' With dbcs'!'dbce
Parse Value 'command!command sos' With dbc'!'dbso
dbmsg=''
if dborigin='' Then do;
end
Select
When dborigin='/EXIT' Then parse value db3chkexit(parms) with dbtrc dbtrap
When dborigin='/DROP' Then parse value db3drop(parms) with dbtrc dbtrap
When dborigin='/EXPAND' Then parse value db41expand(parms) with dbtrc dbtrap
When dborigin='/SWITCH' Then parse value db3setsw(parms) with dbtrc dbtrap
When dborigin='/ABORT' Then parse value db3abort(parms) with dbtrc dbtrap
Otherwise Return tell(dbme)
End
If dbmsg<>'' Then 'EMSG' dbmsg
if dbtrc=-7 then return -7 dbtrap
/*Exit*/ Return dbtrc dbtrap;
DB3CHKEXIT:
Arg dbpath dbdfile'!'dbinvoke'!' dblabel dbw1 .
Do Until (rc<>0)+(dblabel)>0
dbce '/FN/FT/FM'
If right(fmode.1,1)=':' Then dbs='.'
Else dbs=''
dbfile=dbpath''strip(fname.1)''dbs''strip(ftype.1)
If dbfile=dbpath''dbdfile Then
Parse Value 1 dbmsg rdbmsg(320 dbw1 'this file:' dbpath''dbfile) with,
dblabel dbmsg
Else do; signal off error; dbw1; end
End
Return 0; DB3DROP:
Arg . dbws'!'dbwatch
Do While dbws<>''
Parse Var dbws dbw dbws
dbi=wordpos(dbw,dbwatch)
If dbi>0 Then dbwatch=delword(dbwatch,dbi,1)
End
Return dbwatch'!'rdbmsg(335 dbwatch)
DB41EXPAND: PROCEDURE
Parse Arg . dbw dbws
dbtemp=''
Do While dbw<>''
If pos('-',dbw)>0 Then Do
Parse Value dbw With db1 '-' db2
If (db1<=db2)+(datatype('0'db1,'w'))>0 Then Nop
Else Do;dbinvalid=dbinvalid dbw;db2=0; End
Do dby=db1 To db2;dbtemp=dbtemp dby; End
End
Else dbtemp=dbtemp dbw
Parse Var dbws dbw dbws
End
Return DBTEMP;
db3ABORT:
parse value rdbtask('* P 4') with dbtrc dbtrap
if dbtrc=-7 then return -7 dbtrap
dialog.2=dbtrap
if dialog.2 ='CANCEL' then do
'EMSG' rdbmsg(222)
return 0; end
else do
call lineout dbsession
'EMSG' rdbmsg(220)
return 1; end
ERROR: return db9trap(sigl 80e) sourceline(sigl)
FAILURE: return db9trap(sigl 80f) sourceline(sigl)
HALT: return db9trap(sigl 80h)
NOTREADY: return db9trap(sigl 80r) sourceline(sigl)
NOVALUE: return db9trap(sigl 80v)
SYNTAX: return db9trap(sigl 80e) errortext(rc)'~'sourceline(sigl)
db9TRAP:
if dbtrc=-7 then dbtrapp=dbtrap
parse arg dbsigl dbtcode dbtrest
dbtrap = 0 dbme dbsigl dbtcode dbmsg rdbmsg(dbtcode dbme dbsigl) dbtrest
dbtrc=-7
return -7 dbtrapp dbtrap