home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / 9510ls01.cmd < prev    next >
OS/2 REXX Batch file  |  1995-08-17  |  5KB  |  66 lines

  1. /* 9510LS01.CMD - Parse Libpath from CONFIG.SYS */                /* 01 */
  2.                                                                   /* 02 */
  3. crlf               = '0D0A'x     /* carriage return / line feed *//* 03 */
  4. libpath_search_arg = crlf || 'LIBPATH='                           /* 04 */
  5.                                                                   /* 05 */
  6. /*--------------------------------------*\                        /* 06 */
  7. |  Determine CONFIG.SYS location & size  |                        /* 07 */
  8. \*--------------------------------------*/                        /* 08 */
  9. config_sys_file =,                                                /* 09 */
  10.    LEFT( VALUE( 'RUNWORKPLACE',, 'OS2ENVIRONMENT' ), 2 ) ||,      /* 10 */
  11.    '\CONFIG.SYS'                                                  /* 11 */
  12. config_sys_size =,                                                /* 12 */
  13.    STREAM( config_sys_file, 'C', 'QUERY SIZE' )                   /* 13 */
  14. if config_sys_size = '' then                                      /* 14 */
  15.    do                                                             /* 15 */
  16.       say 'Unable to locate' config_sys_file                      /* 16 */
  17.       exit                                                        /* 17 */
  18.    end                                                            /* 18 */
  19.                                                                   /* 19 */
  20. /*-----------------------------*\                                 /* 20 */
  21. |  Read entire file & close it  |                                 /* 21 */
  22. \*-----------------------------*/                                 /* 22 */
  23. config_sys_area =,                                                /* 23 */
  24.    CHARIN( config_sys_file, 1, config_sys_size )                  /* 24 */
  25. call STREAM config_sys_file, 'C', 'CLOSE'                         /* 25 */
  26. uppercase_config_sys_area =,                                      /* 26 */
  27.    TRANSLATE( config_sys_area )     /* uppercase for searching */ /* 27 */
  28.                                                                   /* 28 */
  29. /*------------------------------------*\                          /* 29 */
  30. |  Find LIBPATH= at beginning of line  |                          /* 30 */
  31. \*------------------------------------*/                          /* 31 */
  32. libpath_beg_pos =,                                                /* 32 */
  33.    POS( libpath_search_arg, uppercase_config_sys_area ) + 2       /* 33 */
  34. if libpath_beg_pos = 2 then                                       /* 34 */
  35.    do                                                             /* 35 */
  36.       say 'Unable to locate LIBPATH='                             /* 36 */
  37.       exit                                                        /* 37 */
  38.    end                                                            /* 38 */
  39. libpath_end_pos =,                                                /* 39 */
  40.    POS( crlf, uppercase_config_sys_area, libpath_beg_pos )        /* 40 */
  41. libpath_string =,                                                 /* 41 */
  42.    SUBSTR( config_sys_area,,                                      /* 42 */
  43.            libpath_beg_pos,,                                      /* 43 */
  44.            libpath_end_pos - libpath_beg_pos )                    /* 44 */
  45.                                                                   /* 45 */
  46. /*------------------------*\                                      /* 46 */
  47. |  Write tokens to screen  |                                      /* 47 */
  48. \*------------------------*/                                      /* 48 */
  49. token_number = 0                                                  /* 49 */
  50. do while libpath_string <> ''                                     /* 50 */
  51.    parse value libpath_string with,                               /* 51 */
  52.       token,                                                      /* 52 */
  53.       ';',                                                        /* 53 */
  54.       libpath_string                                              /* 54 */
  55.    token_number = token_number + 1                                /* 55 */
  56.    if token_number = 1 then                                       /* 56 */
  57.       do                                                          /* 57 */
  58.          say token || ';'                                         /* 58 */
  59.       end                                                         /* 59 */
  60.    else                                                           /* 60 */
  61.       do                                                          /* 61 */
  62.          say COPIES( ' ', 8 ) || token || ';'                     /* 62 */
  63.       end                                                         /* 63 */
  64. end                                                               /* 64 */
  65. exit                                                              /* 65 */
  66.