home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 13 / MA_Cover_13.bin / source / c / stefanb_src / ums / rexx / getumsconfig.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-02-24  |  2.0 KB  |  108 lines

  1. /* ------------------------------------------------------------------------
  2.    :Program.    GetUMSConfig.rexx
  3.    :Contents.   reads a variable from UMS' config
  4.    :Author.     Kai Bolay [kai]
  5.    :Address.    Hoffmannstraße 168
  6.    :Address.    D-71229 Leonberg
  7.    :EMail.      kai@studbox.uni-stuttgart.de
  8.    :Version.    $VER: GetUMSConfig.rexx 1.0 (25.9.95)
  9.    :Copyright.  Public Domain
  10.    :Language.   ARexx
  11.    :Translator. RexxMast
  12.    
  13. $Id: GetUMSConfig.rexx 1.0 1995/11/11 12:11:51 kai Exp $
  14. $Log: GetUMSConfig.rexx $
  15. # Revision 1.0  1995/11/11  12:11:51  kai
  16. # Initial revision
  17. #
  18.  
  19. ------------------------------------------------------------------------ */
  20.  
  21. options results
  22.  
  23. signal on BREAK_C
  24. signal on BREAK_D
  25. signal on BREAK_E
  26. signal on BREAK_F
  27. signal on ERROR
  28. signal on HALT
  29. signal on IOERR
  30. signal on SYNTAX
  31.  
  32. /*** Init ***/
  33.  
  34. call addlib("rexxdossupport.library", 0, -30)
  35. call addlib("ums.library", 0, -210, 11)
  36. call UMSInitConsts()
  37.  
  38. /*** Arguments ***/
  39.  
  40. parse SOURCE . " " . " " ProgramName .
  41. ArgsTemplate = "NAME/A,PASSWORD,SERVER/K,VARIABLE/A,USER,GLOBALONLY/S,QUOTED/S"
  42. args.SERVER = ""
  43. args.PASSWORD = ""
  44. args.USER = ""
  45.  
  46. parse arg arguments
  47. if strip(arguments) = '?' then do
  48.   call writech(STDOUT, ArgsTemplate || ': ')
  49.   arguments = readln(STDIN)
  50. end; else nop
  51. if ~ReadArgs(arguments,ArgsTemplate,"args.") then do
  52.   say Fault(RC, ProgramName)
  53.   exit 10
  54. end; else nop
  55.  
  56. /*** Login ***/
  57.  
  58. account = UMSLogin(args.name, args.password, args.server)
  59. if account = 0 then do
  60.   say "unable to login."
  61.   exit 20
  62. end
  63.  
  64. /*** Do the magic ***/
  65.  
  66. res = UMSReadConfig(account,args.variable,args.user,args.globalonly,args.quoted)
  67.  
  68. if res = "" then do
  69.   err = UMSErrNum(account)
  70.   if err ~= 0 then do
  71.     say "UMS Error #" || err || ": " || UMSErrTxt(account)
  72.     rc = 10
  73.     call logout
  74.   end
  75. end
  76.  
  77. say res
  78.  
  79. /*** Final cleanup ***/
  80.  
  81. BREAK_C:
  82. BREAK_D:
  83. BREAK_E:
  84. BREAK_F:
  85.  
  86. RC = 0
  87.  
  88. ERROR:
  89. HALT:
  90. IOERR:
  91. SYNTAX:
  92.  
  93. IF RC ~= 0 THEN DO
  94.   SAY "Error: " rc errortext(rc) "Line" sigl
  95.   rc = 10
  96. END
  97.  
  98. /*** Logout ***/
  99.  
  100. LOGOUT:
  101.  
  102. if account ~= 0 then do
  103.   call UMSLogout(account)
  104.   account = 0
  105. end
  106.  
  107. exit rc
  108.