home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 13 / MA_Cover_13.bin / source / c / stefanb_src / ums / rexx / addakas.rexx next >
Encoding:
OS/2 REXX Batch file  |  1996-01-14  |  1.9 KB  |  98 lines

  1. /* ------------------------------------------------------------------------
  2.    :Program.    AddAKAs.rexx
  3.    :Contents.   adds AKAs
  4.    :Author.     Kai Bolay [kai]
  5.    :Address.    Snail Mail:
  6.    :Address.    Hoffmannstraße 168
  7.    :Address.    D-71229 Leonberg        EMail: kai@studbox.uni-stuttgart.de
  8.    :History.    v1.0 [kai] 13-Jan-96
  9.    :Version.    $VER: RemoveAKA.rexx 1.0 (13.1.96)
  10.    :Copyright.  Public Domain
  11.    :Language.   ARexx
  12.    :Translator. RexxMast
  13. ------------------------------------------------------------------------ */
  14.  
  15. options results
  16.  
  17. signal on BREAK_C
  18. signal on BREAK_D
  19. signal on BREAK_E
  20. signal on BREAK_F
  21. signal on ERROR
  22. signal on HALT
  23. signal on IOERR
  24. signal on SYNTAX
  25.  
  26. /*** Init ***/
  27.  
  28. call addlib("rexxdossupport.library", 0, -30)
  29. call addlib("ums.library", 0, -210, 11)
  30. call UMSInitConsts()
  31.  
  32. /*** Arguments ***/
  33.  
  34. parse SOURCE . " " . " " ProgramName .
  35. ArgsTemplate = "NAME/A,PASSWORD,SERVER/K,AKAS/A/M"
  36. args.SERVER = ""
  37. args.PASSWORD = ""
  38.  
  39. parse arg arguments
  40. if strip(arguments) = '?' then do
  41.   call writech(STDOUT, ArgsTemplate || ': ')
  42.   arguments = readln(STDIN)
  43. end; else nop
  44. if ~ReadArgs(arguments,ArgsTemplate,"args.") then do
  45.   say Fault(RC, ProgramName)
  46.   exit 10
  47. end; else nop
  48.  
  49. /*** Login ***/
  50.  
  51. account = UMSLogin(args.name, args.password, args.server)
  52. if account = 0 then do
  53.   say "unable to login."
  54.   exit 20
  55. end
  56.  
  57. /*** Do the magic ***/
  58.  
  59. aka = UMSReadConfig(account,"AKA",,TRUE,TRUE,TRUE)
  60. do i = 0 TO args.AKAS.COUNT-1
  61.   aka = '"' || args.AKAS.i || '\n"' || '0A'x || aka
  62. end
  63.  
  64. if ~UMSWriteConfig(account,"AKA",aka,,TRUE,,TRUE,TRUE) then do
  65.   call CheckErr;
  66.   RC = 20; call LOGOUT
  67. end
  68.  
  69. /*** Final cleanup ***/
  70.  
  71. BREAK_C:
  72. BREAK_D:
  73. BREAK_E:
  74. BREAK_F:
  75.  
  76. RC = 0
  77.  
  78. ERROR:
  79. HALT:
  80. IOERR:
  81. SYNTAX:
  82.  
  83. IF RC ~= 0 THEN DO
  84.   SAY "Error: " rc errortext(rc) "Line" sigl
  85.   rc = 20
  86. END
  87.  
  88. /*** Logout ***/
  89.  
  90. LOGOUT:
  91.  
  92. if account ~= 0 then do
  93.   call UMSLogout(account)
  94.   account = 0
  95. end
  96.  
  97. exit rc
  98.