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 +-+-+-+-+-+-+-+-