[news.software.anu-news] NEWS V59A - diff/patch version 1/5

gih900@csc.anu.oz (Geoff Huston) (10/10/89)

$! ------------------ CUT HERE -----------------------
$ v='f$verify(f$trnlnm("SHARE_VERIFY"))'
$!
$! This archive created by VMS_SHARE Version 7.1-004  3-AUG-1989
$!   On 10-OCT-1989 10:55:33.53   By user GIH900 
$!
$! This VMS_SHARE Written by:
$!    Andy Harper, Kings College London UK
$!
$! Acknowledgements to:
$!    James Gray       - Original VMS_SHARE
$!    Michael Bednarek - Original Concept and implementation
$!
$!+ THIS PACKAGE DISTRIBUTED IN 5 PARTS, TO KEEP EACH PART
$!  BELOW 30 BLOCKS
$!
$! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER
$! AND EXECUTE AS A COMMAND PROCEDURE  (  @name  )
$!
$! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING:
$!       1. AAREADME.TXT;1
$!       2. ADD_TRANSFORM.DIFF;3
$!       3. MAILDEF.DIFF;2
$!       4. NEWS.DIFF;2
$!       5. NEWSADD.DIFF;2
$!       6. NEWSBUILD.DIFF;2
$!       7. NEWSCMD.DIFF;2
$!       8. NEWSDEFINE.DIFF;2
$!       9. NEWSDELETE.DIFF;2
$!      10. NEWSDIR.DIFF;2
$!      11. NEWSDISPLAY.DIFF;2
$!      12. NEWSDIST.DIFF;2
$!      13. NEWSEXTERN.DIFF;2
$!      14. NEWSEXTRACT.DIFF;2
$!      15. NEWSFILES.DIFF;2
$!      16. NEWSFORWARD.DIFF;2
$!      17. NEWSHELP.DIFF;2
$!      18. NEWSINCLUDE.DIFF;2
$!      19. NEWSMOD.DIFF;2
$!      20. NEWSMODE.DIFF;2
$!      21. NEWSPOST.DIFF;2
$!      22. NEWSRC.DIFF;2
$!      23. NEWSREAD.DIFF;2
$!      24. NEWSREGISTER.DIFF;2
$!      25. NEWSREMCLIENT.DIFF;2
$!      26. NEWSRTL.DIFF;2
$!      27. NEWSSEARCH.DIFF;2
$!      28. NEWSSELECT.DIFF;2
$!      29. NEWSSETSHOW.DIFF;2
$!      30. NEWSSITE.DIFF;2
$!      31. NEWSSITE_H.DIFF;2
$!      32. NEWSSKIM.DIFF;2
$!      33. NEWSSKIP.DIFF;2
$!      34. NEWSUTILITY.DIFF;2
$!      35. NEWSV58_UPGRADE.DIFF;2
$!      36. NEWSVARIABLES.DIFF;2
$!      37. NEWSVMSMAIL.DIFF;2
$!      38. NEWS_HLP.DIFF;2
$!      39. NNTP_CLIENT.DIFF;2
$!      40. NNTP_DEC.DIFF;2
$!      41. NNTP_DECM.DIFF;2
$!      42. NNTP_FEED.DIFF;2
$!      43. NNTP_SERVER.DIFF;2
$!      44. NNTP_TCPCMU.DIFF;2
$!      45. NNTP_TCPWIN.DIFF;2
$!      46. NNTP_TTY.DIFF;2
$!      47. NNTP_XFER.C;1
$!
$set="set"
$set symbol/scope=(nolocal,noglobal)
$f=f$parse("SHARE_TEMP","SYS$SCRATCH:.TMP_"+f$getjpi("","PID"))
$e="write sys$error  ""%UNPACK"", "
$w="write sys$output ""%UNPACK"", "
$ if f$trnlnm("SHARE_LOG") then $ w = "!"
$ if f$getsyi("version") .ges. "V4.4" then $ goto START
$ e "-E-OLDVER, Must run at least VMS 4.4"
$ v=f$verify(v)
$ exit 44
$UNPACK: SUBROUTINE ! P1=filename, P2=checksum
$ if f$search(P1) .eqs. "" then $ goto file_absent
$ e "-W-EXISTS, File ''P1' exists. Skipped."
$ delete/nolog 'f'*
$ exit
$file_absent:
$ if f$parse(P1) .nes. "" then $ goto dirok
$ dn=f$parse(P1,,,"DIRECTORY")
$ w "-I-CREDIR, Creating directory ''dn'."
$ create/dir 'dn'
$ if $status then $ goto dirok
$ e "-E-CREDIRFAIL, Unable to create ''dn'. File skipped."
$ delete/nolog 'f'*
$ exit
$dirok:
$ w "-I-PROCESS, Processing file ''P1'."
$ define/user sys$output nl:
$ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='P1'
PROCEDURE Unpacker ON_ERROR ENDON_ERROR;SET(FACILITY_NAME,"UNPACK");SET(
SUCCESS,OFF);SET(INFORMATIONAL,OFF);f:=GET_INFO(COMMAND_LINE,"file_name");
buff:=CREATE_BUFFER(f,f);p:=SPAN(" ")@r&LINE_END;POSITION(BEGINNING_OF(buff))
;LOOP EXITIF SEARCH(p,FORWARD)=0;POSITION(r);ERASE(r);ENDLOOP;POSITION(
BEGINNING_OF(buff));g:=0;LOOP EXITIF MARK(NONE)=END_OF(buff);x:=
ERASE_CHARACTER(1);IF g = 0 THEN IF x="X" THEN MOVE_VERTICAL(1);ENDIF;IF x=
"V" THEN APPEND_LINE;MOVE_HORIZONTAL(-CURRENT_OFFSET);MOVE_VERTICAL(1);ENDIF;
IF x="+" THEN g:=1;ERASE_LINE;ENDIF;ELSE IF x="-" THEN g:=0;ENDIF;ERASE_LINE;
ENDIF;ENDLOOP;p:="`";POSITION(BEGINNING_OF(buff));LOOP r:=SEARCH(p,FORWARD);
EXITIF r=0;POSITION(r);ERASE(r);COPY_TEXT(ASCII(INT(ERASE_CHARACTER(3))));
ENDLOOP;o:=GET_INFO(COMMAND_LINE,"output_file");WRITE_FILE(buff,o);
ENDPROCEDURE;Unpacker;EXIT;
$ delete/nolog 'f'*
$ CHECKSUM 'P1'
$ IF CHECKSUM$CHECKSUM .eqs. P2 THEN $ EXIT
$ e "-E-CHKSMFAIL, Checksum of ''P1' failed."
$ ENDSUBROUTINE
$START:
$ create/nolog 'f'
XRelease notes for NEWS V5.9A release.
X
XI have built V5.9A using the VAX C compiler V3.0. If you are using an earlie
Vr
Xversion of the compiler you'll need to keep the .h files which have been pos
Vted
Xto the anu-news mailing list in September 1989. I will not include these fil
Ves
Xin any subsequent releases.
X
Xa) File changes in V5.9a
X`009DELETED`009    sortdef.h`009-- no longer referenced in any of the module
Vs
X`009RENAMED     newsmail.c`009-- newsvmsmail.c
X`009NEW FILE    nntp
X
Xb) BEFORE applying the v5.9a patches RENAME NEWSMAIL.C to NEWSVMSMAIL.C
X
XGeoff Huston
$ CALL UNPACK AAREADME.TXT;1 1918433
$ create/nolog 'f'
X*** `091.news_v59_src`093add_transform.c
X--- `091.news_src`093add_transform.c
X**************
X*** 45,51
X  **`009`009# this is an example address cnf file
X  **`009`009*@*.anu.* \002::\001
X  **`009`009*@*.anu`009  \002::\001
X! **`009`009*@*`009  "gateway::in%""\001@\002"""
X  **`009`009*::*`009  \001::\002
X  **`009`009*`009  \001
X  **
X--- 45,51 -----
X  **`009`009# this is an example address cnf file
X  **`009`009*@*.anu.* \002::\001
X  **`009`009*@*.anu`009  \002::\001
X! **`009`009*@*`009  gateway::in%"\001@\002"
X  **`009`009*::*`009  \001::\002
X  **`009`009*`009  \001
X  **
X**************
X*** 113,120
X  `009`123"in%*",    "in%\001"`125,
X  `009`123"psi%*",   "psi%\001"`125,
X  `009`123"@*",`009    "@\001"`125,
X! `009`123"*@*",`009    "\"in\%\"\"\001@\002\"\"\""`125,
X! `009`123"*::*",    "\"in\%\"\"\002@\001\"\"\""`125,
X  `009`123"*",`009    "\001"`125,
X  `009`123"",""`125`125,
X        *addrs = 0;`009/* Pointer to loaded rule set`009`009`009     */
X--- 113,120 -----
X  `009`123"in%*",    "in%\001"`125,
X  `009`123"psi%*",   "psi%\001"`125,
X  `009`123"@*",`009    "@\001"`125,
X! `009`123"*@*",`009    "in\%\"\001@\002\""`125,
X! `009`123"*::*",    "in\%\"\002@\001\""`125,
X  `009`123"*",`009    "\001"`125,
X  `009`123"",""`125`125,
X        *addrs = 0;`009/* Pointer to loaded rule set`009`009`009     */
$ CALL UNPACK ADD_TRANSFORM.DIFF;3 1630369066
$ create/nolog 'f'
X*** `091.news_v59_src`093maildef.h
X--- `091.news_src`093maildef.h
$ CALL UNPACK MAILDEF.DIFF;2 1985494578
$ create/nolog 'f'
X*** `091.news_v59_src`093news.c
X--- `091.news_src`093news.c
$ CALL UNPACK NEWS.DIFF;2 1985494772
$ create/nolog 'f'
X*** `091.news_v59_src`093newsadd.c
X--- `091.news_src`093newsadd.c
X**************
X*** 1170,1176
X        char *id,
X             *ide,
X             *mail_sender = itm`091SENDER`093,
X!            net_sender`091132`093;
X `032
X        if ((id = strchr(itm`091SUPERSEDES`093,'<'))
X              && (ide = strchr(itm`091SUPERSEDES`093,'>'))) `123
X--- 1170,1177 -----
X        char *id,
X             *ide,
X             *mail_sender = itm`091SENDER`093,
X!            net_sender`091132`093,
X! `009   save_itm_fname`091256`093;
X `032
X        strcpy(save_itm_fname,itm_fname);
X        if ((id = strchr(itm`091SUPERSEDES`093,'<'))
X**************
X*** 1172,1177
X             *mail_sender = itm`091SENDER`093,
X             net_sender`091132`093;
X `032
X        if ((id = strchr(itm`091SUPERSEDES`093,'<'))
X              && (ide = strchr(itm`091SUPERSEDES`093,'>'))) `123
X          *(ide + 1) = '\0';
X--- 1173,1179 -----
X             net_sender`091132`093,
X  `009   save_itm_fname`091256`093;
X `032
X+       strcpy(save_itm_fname,itm_fname);
X        if ((id = strchr(itm`091SUPERSEDES`093,'<'))
X              && (ide = strchr(itm`091SUPERSEDES`093,'>'))) `123
X          *(ide + 1) = '\0';
X**************
X*** 1193,1198
X          if (!del_id(id,net_sender)) hist_add(id);
X          printf(" (Supersedes %s)",itm`091SUPERSEDES`093);
X          `125
X        `125
X      `125
X    if (*itm_fname) sys_remote_send(itm`091PATH`093,itm`091NEWSGROUPS`093,it
Vm`091DISTRIBUTION`093,itm_fname,itm`091MESSAGE_ID`093,!mod_add);
X--- 1195,1201 -----
X          if (!del_id(id,net_sender)) hist_add(id);
X          printf(" (Supersedes %s)",itm`091SUPERSEDES`093);
X          `125
X+       strcpy(itm_fname,save_itm_fname);`009/* new */
X        `125
X      `125
X    if (*itm_fname) sys_remote_send(itm`091PATH`093,itm`091NEWSGROUPS`093,it
Vm`091DISTRIBUTION`093,itm_fname,itm`091MESSAGE_ID`093,!mod_add);
$ CALL UNPACK NEWSADD.DIFF;2 672149631
$ create/nolog 'f'
X*** `091.news_v59_src`093newsbuild.com
X--- `091.news_src`093newsbuild.com
X**************
X*** 46,51
X                        twg$tcp:`091netdist.include.sys`093,-
X                        twg$tcp:`091netdist.include.vms`093,-
X                        twg$tcp:`091netdist.include.netinet`093,-
X                        sys$library
X  $ define lnk$library twg$tcp:`091netdist.lib`093libnet
X  $ define lnk$library_1 twg$tcp:`091netdist.lib`093libnetacc
X--- 46,52 -----
X                        twg$tcp:`091netdist.include.sys`093,-
X                        twg$tcp:`091netdist.include.vms`093,-
X                        twg$tcp:`091netdist.include.netinet`093,-
X+                       twg$tcp:`091netdist.include.arpa`093,-
X                        sys$library
X  $ define lnk$library twg$tcp:`091netdist.lib`093libnet
X  $ define lnk$library_1 twg$tcp:`091netdist.lib`093libnetacc
X**************
X*** 77,83
X  $ call compile "NEWSFILES"      "DELOBJ"    'p1
X  $ call compile "NEWSFORWARD"    "DELOBJ"    'p1
X  $ call compile "NEWSHELP"       "DELOBJ"    'p1
X! $ call compile "NEWSMAIL"       "DELOBJ"    'p1
X  $ call compile "NEWSMOD"        "DELOBJ"    'p1
X  $ call compile "NEWSMODE"       "DELOBJ"    'p1
X  $ call compile "NEWSPOST"       "DELOBJ"    'p1
X--- 78,84 -----
X  $ call compile "NEWSFILES"      "DELOBJ"    'p1
X  $ call compile "NEWSFORWARD"    "DELOBJ"    'p1
X  $ call compile "NEWSHELP"       "DELOBJ"    'p1
X! $ call compile "NEWSVMSMAIL"    "DELOBJ"    'p1
X  $ call compile "NEWSMOD"        "DELOBJ"    'p1
X  $ call compile "NEWSMODE"       "DELOBJ"    'p1
X  $ call compile "NEWSPOST"       "DELOBJ"    'p1
X**************
X*** 317,322
X  $ link/notrace/nomap/exe=`091-.NEWS_DIST`093NNTP_FEED nntp_feed,`091-.news
V_src`093options_c_link/opt
X  $ purge nntp_feed.*,`091-.news_dist`093nntp_feed.*
X  $past18:
X  $!
X  $!  NNTP_TCPCMU
X  $!
X--- 318,346 -----
X  $ link/notrace/nomap/exe=`091-.NEWS_DIST`093NNTP_FEED nntp_feed,`091-.news
V_src`093options_c_link/opt
X  $ purge nntp_feed.*,`091-.news_dist`093nntp_feed.*
X  $past18:
X+ $!
X+ $! NNTP_XFER
X+ $!
X+ $ if f$search("NNTP_XFER.OBJ").eqs."" then $ goto do9a
X+ $ if f$cvtime(f$file_attributes("`091-.NEWS_SRC`093NNTP_XFER.C","rdt")).gt
Vs.-
X+   f$cvtime(f$file_attributes("NNTP_XFER.OBJ","rdt")) then $ goto do9a
X+ $ goto past9a
X+ $do9a:
X+ $ set def `091-.news_src`093
X+ $ write sys$output "$ cc nntp_xfer"
X+ $ cc/nolis/object=`091-.news_build`093nntp_xfer nntp_xfer
X+ $ set def `091-.news_build`093
X+ $ purge nntp_xfer.*,`091-.news_src`093nntp_xfer.*
X+ $past9a:
X+ $ if f$search("`091-.NEWS_DIST`093NNTP_XFER.EXE").eqs."" then $ goto do18a
X+ $ if f$cvtime(f$file_attributes("NNTP_XFER.OBJ","rdt")).gts.-
X+   f$cvtime(f$file_attributes("`091-.NEWS_DIST`093NNTP_XFER.EXE","rdt")) th
Ven $ goto do18a
X+ $ goto past18a
X+ $do18a:
X+ $ write sys$output "$ link nntp_xfer"
X+ $ link/notrace/nomap/exe=`091-.NEWS_DIST`093nntp_xfer nntp_xfer,`091-.news
V_src`093options_c_link/opt
X+ $ purge nntp_xfer.*,`091-.news_dist`093nntp_xfer.*
X+ $past18a:
X  $!
X  $!  NNTP_TCPCMU
X  $!
$ CALL UNPACK NEWSBUILD.DIFF;2 962889786
$ create/nolog 'f'
X*** `091.news_v59_src`093newscmd.cld
X--- `091.news_src`093newscmd.cld
X**************
X*** 478,484
X  define syntax SET_ITEM
X      routine     do_set_item
X      parameter   P1          label=OPTIONS, value(required)
X!     parameter   P2          label=NEWSITEM
X      qualifier   HOLD        value(default="0")
X `032
X  define syntax SET_MANAGER
X--- 478,484 -----
X  define syntax SET_ITEM
X      routine     do_set_item
X      parameter   P1          label=OPTIONS, value(required)
X!     parameter   P2          label=NOTEID
X      qualifier   HOLD        value(default="0")
X `032
X  define syntax SET_MANAGER
X**************
X*** 660,673
X      routine do_error
X      parameter   P1          label=OPTIONS, prompt="_NEWS ADD>", value(requ
Vired,type=ADD_OPTIONS)
X `032
X- define verb ANSWER
X-     routine do_followup
X-     parameter   P1,         label=INFILE,value(type=$infile)
X-     qualifier   EDIT,       negatable,default
X-     qualifier   EXTRACT,    negatable,default
X-     qualifier   HEADERS,    negatable
X-     qualifier   SELF,       negatable
X-`032
X  define verb ATTACH
X      routine do_attach
X      parameter   P1,         label=PROCESSNAME
X--- 660,665 -----
X      routine do_error
X      parameter   P1          label=OPTIONS, prompt="_NEWS ADD>", value(requ
Vired,type=ADD_OPTIONS)
X `032
X  define verb ATTACH
X      routine do_attach
X      parameter   P1,         label=PROCESSNAME
X**************
X*** 736,741
X      qualifier   OUTPUT      value(required,type=$outfile)
X      qualifier   TITLE       value(required)
X      qualifier   UNSEEN
X      qualifier   CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES
X      qualifier   ENTRIES,    nonnegatable,syntax=DIR_ENTRIES
X      qualifier   NOTEBOOK,   nonnegatable,syntax=DIR_NOTEBOOK
X--- 728,734 -----
X      qualifier   OUTPUT      value(required,type=$outfile)
X      qualifier   TITLE       value(required)
X      qualifier   UNSEEN
X+     qualifier   UNREGISTERED nonnegatable
X      qualifier   CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES
X      qualifier   ENTRIES,    nonnegatable,syntax=DIR_ENTRIES
X      qualifier   NOTEBOOK,   nonnegatable,syntax=DIR_NOTEBOOK
X**************
X*** 739,745
X      qualifier   CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES
X      qualifier   ENTRIES,    nonnegatable,syntax=DIR_ENTRIES
X      qualifier   NOTEBOOK,   nonnegatable,syntax=DIR_NOTEBOOK
X!     disallow    any2 (ALL,ITEMS,NEW,NEWSGROUPS,REGISTER,SINCE)
X `032
X  define verb DISPLAY
X      routine do_display_file
X--- 732,738 -----
X      qualifier   CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES
X      qualifier   ENTRIES,    nonnegatable,syntax=DIR_ENTRIES
X      qualifier   NOTEBOOK,   nonnegatable,syntax=DIR_NOTEBOOK
X!     disallow    any2 (ALL,ITEMS,NEW,NEWSGROUPS,REGISTER,SINCE,UNREGISTERED
V)
X `032
X  define verb DISPLAY
X      routine do_display_file
X**************
X*** 782,787
X                  or (TITLE and SUBJECT) or (UNSEEN and UNREAD)
X `032
X  define verb FOLLOWUP
X      routine do_followup
+-+-+-+-+-+-+-+-  END  OF PART 1 +-+-+-+-+-+-+-+-