home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rdebug21.zip / RDBMISC.KEX < prev    next >
Text File  |  1993-03-25  |  3KB  |  96 lines

  1. /*H* RDBMISC.KEX 01-30-93 10:19*/
  2.  Arg dborigin dbsession
  3.  Parse Arg . parms
  4.  Signal On Error;   Signal On Failure;  Signal On Halt
  5.  Signal On Novalue; Signal On Notready; Signal ON Syntax
  6.  Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce
  7.  Parse Value 'COMMAND!COMMAND SOS' With dbc'!'dbso
  8.  dbce '/FN/OPSYS'
  9.  dbme='rdbMISC'
  10.  dbsys=opsys.1
  11.  if dbsys='OS/2' then dbsys='OS2'     /*O*/
  12.  Parse Value 0 With dbtrc dbtrap dbtrapp dbmsg
  13.  If dborigin='?' Then Return tell(dbme)
  14.  Parse Value 'command set!command extract' With dbcs'!'dbce
  15.  Parse Value 'command!command sos' With dbc'!'dbso
  16.  dbmsg=''
  17.  if dborigin=''   Then do;
  18.  
  19.  
  20.  end
  21.  Select
  22.    When dborigin='/EXIT'   Then parse value db3chkexit(parms)  with dbtrc dbtrap
  23.    When dborigin='/DROP'   Then parse value db3drop(parms)     with dbtrc dbtrap
  24.    When dborigin='/EXPAND' Then parse value db41expand(parms)  with dbtrc dbtrap
  25.    When dborigin='/SWITCH' Then parse value db3setsw(parms)    with dbtrc dbtrap
  26.    When dborigin='/ABORT'  Then parse value db3abort(parms)    with dbtrc dbtrap
  27.    Otherwise Return tell(dbme)
  28.  End
  29.  If dbmsg<>'' Then 'EMSG' dbmsg
  30.  if dbtrc=-7 then return -7 dbtrap
  31.  /*Exit*/ Return dbtrc dbtrap;
  32.  
  33.  DB3CHKEXIT:
  34.  Arg dbpath dbdfile'!'dbinvoke'!' dblabel dbw1 .
  35.  Do Until (rc<>0)+(dblabel)>0
  36.    dbce '/FN/FT/FM'
  37.    If right(fmode.1,1)=':' Then dbs='.'
  38.    Else dbs=''
  39.    dbfile=dbpath''strip(fname.1)''dbs''strip(ftype.1)
  40.  
  41.    If dbfile=dbpath''dbdfile Then
  42.    Parse Value 1 dbmsg rdbmsg(320 dbw1 'this file:' dbpath''dbfile) with,
  43.    dblabel dbmsg
  44.    Else do; signal off error; dbw1; end
  45.  End
  46.  
  47.  Return 0;  DB3DROP:
  48.  Arg . dbws'!'dbwatch
  49.  Do While dbws<>''
  50.    Parse Var dbws dbw dbws
  51.    dbi=wordpos(dbw,dbwatch)
  52.    If dbi>0 Then dbwatch=delword(dbwatch,dbi,1)
  53.  End
  54.  Return dbwatch'!'rdbmsg(335 dbwatch)
  55.  
  56.  DB41EXPAND:    PROCEDURE
  57.  Parse Arg . dbw dbws
  58.  dbtemp=''
  59.  Do While dbw<>''
  60.    If pos('-',dbw)>0 Then Do
  61.      Parse Value dbw With db1 '-' db2
  62.      If (db1<=db2)+(datatype('0'db1,'w'))>0 Then Nop
  63.      Else Do;dbinvalid=dbinvalid dbw;db2=0; End
  64.      Do dby=db1 To db2;dbtemp=dbtemp dby; End
  65.    End
  66.    Else dbtemp=dbtemp dbw
  67.    Parse Var dbws dbw dbws
  68.  End
  69.  
  70.  Return DBTEMP;
  71.  
  72.  db3ABORT:
  73.  parse value    rdbtask('* P 4') with dbtrc dbtrap
  74.  if dbtrc=-7 then return -7 dbtrap
  75.  dialog.2=dbtrap
  76.  if dialog.2 ='CANCEL' then do
  77.    'EMSG' rdbmsg(222)
  78.    return 0; end
  79.  else do
  80.    call lineout dbsession
  81.    'EMSG' rdbmsg(220)
  82.    return 1; end
  83.  
  84.  ERROR:    return db9trap(sigl 80e) sourceline(sigl)
  85.  FAILURE:  return db9trap(sigl 80f) sourceline(sigl)
  86.  HALT:     return db9trap(sigl 80h)
  87.  NOTREADY: return db9trap(sigl 80r) sourceline(sigl)
  88.  NOVALUE:  return db9trap(sigl 80v)
  89.  SYNTAX:   return db9trap(sigl 80e) errortext(rc)'~'sourceline(sigl)
  90.  db9TRAP:
  91.  if dbtrc=-7 then dbtrapp=dbtrap
  92.  parse arg dbsigl dbtcode dbtrest
  93.  dbtrap = 0 dbme dbsigl dbtcode dbmsg rdbmsg(dbtcode dbme dbsigl) dbtrest
  94.  dbtrc=-7
  95.  return -7 dbtrapp dbtrap
  96.