home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / os / vms / 12804 < prev    next >
Encoding:
Internet Message Format  |  1992-07-27  |  2.6 KB

  1. Path: sparky!uunet!cis.ohio-state.edu!ucbvax!VAXA.ANGLIA-POLYTECHNIC.AC.UK!SYSTIMK
  2. From: SYSTIMK@VAXA.ANGLIA-POLYTECHNIC.AC.UK ("Ian Kitching, System Manager")
  3. Newsgroups: comp.os.vms
  4. Subject: Re: VAX Notes: Change moderator name/node?
  5. Message-ID: <9207270946.AA05457@ucbvax.Berkeley.EDU>
  6. Date: 27 Jul 92 09:39:00 GMT
  7. Sender: usenet@ucbvax.BERKELEY.EDU
  8. Organization: The Internet
  9. Lines: 80
  10.  
  11. >From: munnari.oz.au!metro!seagoon.newcastle.edu.au!cc.newcastle.edu.au!
  12. >      outafrl%net.uu.uunet
  13.  
  14. >How can the moderator's name/node be modified?
  15.  
  16. A crude procedure to do this follows.
  17.  
  18. >If a large number of topics are deleted from a conference, can the disk
  19. >usage be consolidated and the file compressed?  Would CONVERT do this job?
  20.  
  21. Yes, CONVERT/RECLAIM, just as MAIL does. The DELETE_NOTES utility (available
  22. on the net but I've forgotten where) does this.
  23.  
  24. Ian Kitching    systimk@uk.ac.anglia-polytechnic.vaxa
  25. +++++
  26. $ ! P1 = conference (file name)
  27. $ ! P2 = new moderator username
  28. $ p1 = f$parse(p1,"notes$library:.note")
  29. $ p2 = f$edit(p2,"trim,upcase")
  30. $ if p2 .eqs. "" then p2 := 'f$getjpi(0,"username")
  31. $
  32. $ new_mod_node = "BRIDGE::"    ! Default local node
  33. $ test = f$trnlnm("sys$cluster_node","lnm$system")
  34. $ if test .nes. "" then new_mod_node = test
  35. $
  36. $ new_mod = p2
  37. $ if f$locate("::",p2) .eqs. f$length(p2) then goto no_node
  38. $ new_mod_node = f$element(0,":",p2)
  39. $ new_mod = f$element(2,":",p2)
  40. $no_node:
  41. $
  42. $ on control_y then goto done
  43. $ open/read/write/share=write cf 'p1
  44. $
  45. $ key_0 = "1234"
  46. $ key_0[0,32] = %x10
  47. $ read/key=&key_0 cf line
  48. $
  49. $ title_pos = %x4e*8
  50. $ title_size = f$cvui(title_pos,8,line)
  51. $ title = f$extract((title_pos/8)+1,title_size,line)
  52. $
  53. $ mod_pos = title_pos + (title_size*8) + (3*8)    ! Skip %x36df
  54. $ mod_size = f$cvui(mod_pos,8,line)
  55. $ moderator = f$extract((mod_pos/8)+1,mod_size,line)
  56. $
  57. $ new_value = new_mod_node + new_mod
  58. $ size = f$length(new_value)
  59. $ line[mod_pos,8] = size
  60. $ pos = (mod_pos/8) + 1
  61. $ line[pos,size] := 'new_value'
  62. $ write/update/sym cf line
  63. $
  64. $ ws f$fao("Conference: !AS",title)
  65. $ ws f$fao("Moderator changed from !AS to !AS",moderator,new_value)
  66. $ goto done
  67. $
  68. $ key_0 = %x101
  69. $ read/err=done/index=0/key=&key cf line
  70. $ mod_pos = %x4e*8
  71. $ mod_size = f$cvui(mod_pos,8,line)
  72. $ moderator = f$extract((mod_pos/8)+1,mod_size,line)
  73. $
  74. $ line[mod_pos,8] = f$length(new_mod)
  75. $ pos = (mod_pos/8) + 1
  76. $ line[pos,12] := 'new_mod'
  77. $
  78. $ node_pos = %x5d*8
  79. $ node_size = f$cvui(node_pos,8,line)
  80. $ node = f$extract((node_pos/8)+1,node_size,line)
  81. $
  82. $ size = f$length(new_mod_node)
  83. $ line[node_pos,8] = size
  84. $ pos = (node_pos/8) + 1
  85. $ line[pos,size] := 'new_mod_node'
  86. $ write/update/sym cf line
  87. $
  88. $done:
  89. $ close/nolog cf
  90.  
  91.