home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / asm / disa-rel.lbr / EXTRACT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-06-08  |  1.1 KB  |  55 lines

  1.  
  2. MODULE extract_cmd;
  3. {   
  4.     Extracts first and second file-names from the
  5.     "command tail".
  6.  
  7.     Written by:
  8.  
  9.     Ronald E. Bruck
  10.     Department of Mathematics
  11.     University of Southern California
  12.     Los Angeles, CA  90089
  13. }
  14.  
  15. CONST
  16.    space = ' ';
  17.  
  18. TYPE
  19.    ptrstring = ^STRING;
  20.  
  21. EXTERNAL FUNCTION @cmd : ptrstring;
  22.  
  23. {$E- : private }
  24. PROCEDURE strip_leading_blanks ( VAR s : STRING ) ;
  25. BEGIN
  26.    WHILE ( POS ( space, s ) = 1 ) DO
  27.       DELETE ( s, 1, 1 ) ;
  28. END;
  29.  
  30. {$E+ : public}
  31. PROCEDURE xtrct_cmd ( VAR first_id, second_id : STRING ) ;
  32. VAR
  33.    m,
  34.    n   : INTEGER;
  35.    ptr : ptrstring;
  36.    ch  : CHAR;
  37. BEGIN
  38.    ptr := @cmd;
  39.    first_id := ptr^;
  40.    strip_leading_blanks ( first_id ) ;
  41.    n := POS ( space, first_id );
  42.    IF n = 0
  43.       THEN
  44.          second_id := ''
  45.       ELSE
  46.          BEGIN
  47.             m := LENGTH ( first_id ) - n + 1;
  48.             second_id := COPY ( first_id, n, m );
  49.             DELETE ( first_id, n, m ) ;
  50.             strip_leading_blanks ( second_id ) ;
  51.          END;
  52. END;
  53.  
  54. MODEND.
  55.