[news.software.anu-news] V5.9C SUM/SLP patches part 2 of 3

sloane@kuhub.cc.ukans.edu (01/05/90)

-+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:25:36.56
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSDELETE.C to produce `
V091-.NEWS_SRC`093NEWSDELETE.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSDELETE.C
X$ if checksum$checksum .ne. 668759875 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSDELETE.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSDELETE.C
X$ if f$search("`091-.NEWS_SRC`093NEWSDELETE.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSDELETE.C NEWSDELETE.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSDELETE.C/update=sys$Input:/output=`091-
V.NEWS_SRC`093NEWSDELETE.C
X$ DECK
X-  931,  939
X       mail_from`091256`093,
X       mail_cfrom`091256`093,
X       mail_groups`091256`093,
X       mail_dist`091256`093,
X       mail_id`091256`093,
X       post_path`091256`093,
X       post_dist`091256`093,
X       loc_id`091IDLEN`093,
X       id`091256`093,
X       ngroup`091256`093,
X-  980,  983
X  strcpy(mail_cfrom,mail_from);
X  s_to_lower(mail_cfrom);
X  m_a = moderator_address(ga`091curr_g`093->grp_name);
X  s_to_lower(m_a);
X  strcpy(inpline,mail_sig);
X-  988,  991
X    if (!(wild_match(mail_cfrom,inpline))) `123
X      sprintf(inpline,"%s@%s",usr_username,Node_address);
X      s_to_lower(inpline);
X      if (!(wild_match(mail_cfrom,inpline))) `123
X-  999,  999
X          if (!(wild_match(mail_cfrom,inpline))) `123
X- 1012
X      int cre_grp`0912`093;
X      char subj_line`091132`093;
X
X- 1018
X      sprintf(subj_line,"cancel %s",id);
X- 1037, 1037
X      do_new_group("control",0,cre_grp);
X      if (cre_grp`0910`093) do_new_item(cre_grp,loc_id,subj_line,Post_file,1
V,1,1);
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSDELETE.C
X$ if checksum$checksum .ne. 198096434 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSDELETE.C_UPDATE;1 942381381
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSDIR.C to `091-.NEWS_SRC`09
V3NEWSDIR.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:25:43.36
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSDIR.C to produce `091
V-.NEWS_SRC`093NEWSDIR.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSDIR.C
X$ if checksum$checksum .ne. 1221301285 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSDIR.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSDIR.C
X$ if f$search("`091-.NEWS_SRC`093NEWSDIR.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSDIR.C NEWSDIR.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSDIR.C/update=sys$Input:/output=`091-.NE
VWS_SRC`093NEWSDIR.C
X$ DECK
X-  143
X        case DIR_UNREGISTER:
X            put_line("NEWS - Directory of UNRegistered Newsgroups",0);
X            break;
X-  217
X    else if (cli$present(c$dsc("UNREGISTERED")) == CLI$_PRESENT)
X      dir_type = DIR_UNREGISTER;
X-  259
X      case DIR_UNREGISTER:
X        incl_grp = (ga`091gindx`093->grp_reg == 0);
X        break;
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSDIR.C
X$ if checksum$checksum .ne. 232756651 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSDIR.C_UPDATE;1 826875185
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSDISPLAY.C to `091-.NEWS_SR
VC`093NEWSDISPLAY.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:25:50.61
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSDISPLAY.C to produce
V `091-.NEWS_SRC`093NEWSDISPLAY.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSDISPLAY.C
X$ if checksum$checksum .ne. 2091154094 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSDISPLAY.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSDISPLAY.C
X$ if f$search("`091-.NEWS_SRC`093NEWSDISPLAY.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSDISPLAY.C NEWSDISPLAY.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSDISPLAY.C/update=sys$Input:/output=`091
V-.NEWS_SRC`093NEWSDISPLAY.C
X$ DECK
X-  281,  281
X        else if (   !strncmp(resp,"top",min(3,strlen(resp)))
X                 && (*(resp + 1) == 'o')
X                 && (strlen(resp) <= 3)) `123
X-  426,  473
Xstatic int colon_expected = 0;
X
Xstatic put_parse(s,h,disp_h)
X  char *s;
X  int *h,
X      disp_h;
X`123
X  int i = strlen(s),
X      colon,
X      space;
X
X  if ((!i) `124`124 (strspn(s," \t\r") == i)) `123
X    if (++(*h)) `123
X      if (!disp_h) `123
X        if (*subjline) put_line(subjline,0);
X        if (*fromline) `123
X          if (*orgline) `123
X            strcat(fromline,",");
X            strcat(fromline,orgline);
X            `125
X          put_line(fromline,0);
X          `125
X        if (!screen_active) put_line("",0);
X        end_header();
X        if (*summline) put_line(summline,0);
X        if (*keywline) put_line(keywline,0);
X        if (*markline) put_line(markline,0);
X        if (*dateline) put_line(dateline,0);
X        put_line("",0);
X        `125
X      else put_line(s,0);
X      colon_expected = 0;
X      `125
X    else colon_expected = 1;
X    return;
X    `125
X
X  colon = strcspn(s,":");
X  space = strcspn(s," \t");
X  if ((colon) && (space == (colon + 1)) && (space < i)) `123
X    if (!strncmp(s,"From:",5)) strcpy(fromline,s);
X    else if (!strncmp(s,"Date:",5)) strcpy(dateline,s);
X    else if (!strncmp(s,"Summary:",8)) strcpy(summline,s);
X    else if (!strncmp(s,"Keywords:",9)) strcpy(keywline,s);
X    else if (!strncmp(s,"Lines:",6)) `123
X      strcpy(lineline,s);
X      if (!sscanf(s,"Lines: %d",&text_lines)) text_lines = 0;
X      `125
X    else if (!strncmp(s,"Organization:",13)) strcpy(orgline,s + 13);
X    else if (!strncmp(s,"Subj",4)) strcpy(subjline,s);
X    `125
X  else if (colon_expected) `123
X    colon_expected = 0;
X    put_parse("",h,disp_h);
X    put_line(s,0);
X    `125
X  colon_expected = 0;
X  if (disp_h) put_line(s,0);
X-  506,  506
X  int line_cont = 0, i, first_loop = 0, fd, rd_body = 0, save_vd, vmsmailrea
Vd;
X-  513
X    if (ga`091curr_g`093->grp_ia`091curr_i`093.itm_flags & NEWS_M_MAILITEM)
V --rd_body;
X-  559,  562
X      if (rd_body < 1) `123
X        if (!line_cont) `123
X          put_parse(inpline,&rd_body,h);
X          if (rd_body > 0) text_cline = 0;
X-  572,  572
X      if ((rd_body > 0)  && next_line_cont && text_lines) ++text_lines;
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSDISPLAY.C
X$ if checksum$checksum .ne. 148318971 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSDISPLAY.C_UPDATE;1 1565002399
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSDIST.C to `091-.NEWS_SRC`0
V93NEWSDIST.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:00.36
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSDIST.C to produce `09
V1-.NEWS_SRC`093NEWSDIST.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSDIST.C
X$ if checksum$checksum .ne. 1272679744 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSDIST.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSDIST.C
X$ if f$search("`091-.NEWS_SRC`093NEWSDIST.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSDIST.C NEWSDIST.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSDIST.C/update=sys$Input:/output=`091-.N
VEWS_SRC`093NEWSDIST.C
X$ DECK
X-  215
X  int n;
X-  219,  220
X  cp1 = s;`009`009`009`009/* s is compressed, stripped string */
X  while (isgraph(*cp1)) cp1++;       `009/* scan accross node word */
X  if (!*cp1) cp1 = 0;
X  else *cp1++ = '\0';              `009/* and null terminate node word */
X  strcpy(node,s);
X  if (!strlen(node)) return; `009`009/* handle the case of the string " " */
X-  224,  235
X  if (cp1) `123           `009`009`009/* now handle following words */
X    while (cp2 = strchr(cp1,' ')) *cp2 = ','; `009/* convert ' ' -> ',' */
X    strcpy(tolist,cp1);
X    cp1 = tolist;
X    do `123
X      if (cp2 = strchr(cp1,',')) *cp2++ = '\0';
X      if (strlen(cp1)) `123
X        fmp = malloc(sizeof *fmp);
X        strcpy((fmp->sys_filtnam = malloc(strlen(cp1) + 1)),cp1);
X        fmp->sys_fnext = 0;
X        if (!tmp->to_names) tmp->to_names = f1 = fmp;
X        else `123
X          f1->sys_fnext = fmp;
X          f1 = fmp;
X          `125
X        `125
X      cp1 = cp2;
X      `125 while (cp1);
X    `125
X-  562,  562
X        if (!(fpo = fopen(s->sys_file,"a","rfm=var","rat=cr"))) `123
X          sleep(1); /* assume append open due to multiple write - wait a bit
V -
X                       if the append still fails try to open a new version
X                       before giving up. */
X          if (!(fpo = fopen(s->sys_file,"a","rfm=var","rat=cr")))
X            fpo = fopen(s->sys_file,"w","rfm=var","rat=cr");
X          `125
X        if (fpo) `123
X-  588,  588
X          fpo = fopen(s->sys_file,"w","rfm=var","rat=cr","alq=30","deq=30");
X-  592,  595
X              fpo = fopen(s->sys_file,"w","rfm=var","rat=cr","alq=30","deq=3
V0");
X            else `123
X              if (!(fpo = fopen(s->sys_file,"a")))
X                fpo = fopen(s->sys_file,"w","rfm=var","rat=cr","alq=30","deq
V=30");
X              `125
X            `125
X          else fpo = fopen(s->sys_file,"w","rfm=var","rat=cr","alq=30","deq=
V30");
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSDIST.C
X$ if checksum$checksum .ne. 1588616607 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSDIST.C_UPDATE;1 325984582
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSEXTERN.H to `091-.NEWS_SRC
V`093NEWSEXTERN.H
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:06.79
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSEXTERN.H to produce `
V091-.NEWS_SRC`093NEWSEXTERN.H
X$ checksum `091-.NEWS_V59_SRC`093NEWSEXTERN.H
X$ if checksum$checksum .ne. 1439434791 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSEXTERN.H") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSEXTERN.H
X$ if f$search("`091-.NEWS_SRC`093NEWSEXTERN.H") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSEXTERN.H NEWSEXTERN.H_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSEXTERN.H/update=sys$Input:/output=`091-
V.NEWS_SRC`093NEWSEXTERN.H
X$ DECK
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSEXTERN.H
X$ if checksum$checksum .ne. 1439434791 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSEXTERN.H_UPDATE;1 2065976458
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSEXTRACT.C to `091-.NEWS_SR
VC`093NEWSEXTRACT.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:12.32
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSEXTRACT.C to produce
V `091-.NEWS_SRC`093NEWSEXTRACT.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSEXTRACT.C
X$ if checksum$checksum .ne. 364490190 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSEXTRACT.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSEXTRACT.C
X$ if f$search("`091-.NEWS_SRC`093NEWSEXTRACT.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSEXTRACT.C NEWSEXTRACT.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSEXTRACT.C/update=sys$Input:/output=`091
V-.NEWS_SRC`093NEWSEXTRACT.C
X$ DECK
X-  237,  239
X  if (w_ok) `123
X    sprintf(xfrbuf,"X-NEWS: %s %s: %d\n",
X                  news_node,ga`091g`093->grp_name,ga`091g`093->grp_ia`091m`0
V93.itm_num);
X    fputs(xfrbuf,fpextract);
X    `125
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSEXTRACT.C
X$ if checksum$checksum .ne. 580738356 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSEXTRACT.C_UPDATE;1 1528376036
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSFILES.C to `091-.NEWS_SRC`
V093NEWSFILES.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:16.90
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSFILES.C to produce `0
V91-.NEWS_SRC`093NEWSFILES.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSFILES.C
X$ if checksum$checksum .ne. 488313587 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSFILES.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSFILES.C
X$ if f$search("`091-.NEWS_SRC`093NEWSFILES.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSFILES.C NEWSFILES.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSFILES.C/update=sys$Input:/output=`091-.
VNEWS_SRC`093NEWSFILES.C
X$ DECK
X-   69
X  i->f.fab$l_alq = 4;
X  i->f.fab$w_deq = 32;
X  i->f.fab$l_fop `124= FAB$M_TEF;
X-  339,  339
X    newsgrp.grp_reg = NEWGROUP_REG;
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSFILES.C
X$ if checksum$checksum .ne. 1950815218 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSFILES.C_UPDATE;1 638022029
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSFORWARD.C to `091-.NEWS_SR
VC`093NEWSFORWARD.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:21.95
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSFORWARD.C to produce
V `091-.NEWS_SRC`093NEWSFORWARD.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSFORWARD.C
X$ if checksum$checksum .ne. 1809580686 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSFORWARD.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSFORWARD.C
X$ if f$search("`091-.NEWS_SRC`093NEWSFORWARD.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSFORWARD.C NEWSFORWARD.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSFORWARD.C/update=sys$Input:/output=`091
V-.NEWS_SRC`093NEWSFORWARD.C
X$ DECK
X-  175,  179
X  if (cli$present(c$dsc("SELF")) == CLI$_PRESENT) mail_self_flag = 1;
X  else mail_self_flag = 0;
X-  194
X      mail_self_flag = 0;
X-  208,  208
X    if ((status = call_edit(Mail_file)) == 2) `123
X      mail_self_flag = 0;
X      return(0);
X      `125
X-  213
X        mail_self_flag = 0;
X-  219
X      mail_self_flag = 0;
X-  224
X    mail_self_flag = 0;
X-  229
X    mail_self_flag = 0;
X-  232
X  mail_self_flag = 0;
X-  409,  413
X  if ((cli$present(c$dsc("SELF")) == CLI$_PRESENT) && !members)
X    mail_self_flag = 1;
X  else mail_self_flag = 0;
X-  435
X      mail_self_flag = 0;
X-  452
X    mail_self_flag = 0;
X-  464
X      mail_self_flag = 0;
X-  474
X      mail_self_flag = 0;
X-  485
X`009mail_self_flag = 0;
X-  492
X      mail_self_flag = 0;
X-  498
X    mail_self_flag = 0;
X-  503
X    mail_self_flag = 0;
X-  507,  507
X  if (addressees) `123
X    call_mail(Mail_file,ngroup,xfrbuf,"Invoking mailer...");
X    mail_self_flag = 0;
X    `125
X-  533
X            mail_self_flag = 0;
X-  544
X  mail_self_flag = 0;
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSFORWARD.C
X$ if checksum$checksum .ne. 1876658337 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSFORWARD.C_UPDATE;1 1179144371
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSHELP.C to `091-.NEWS_SRC`0
V93NEWSHELP.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:26.64
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSHELP.C to produce `09
V1-.NEWS_SRC`093NEWSHELP.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSHELP.C
X$ if checksum$checksum .ne. 2093962289 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSHELP.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSHELP.C
X$ if f$search("`091-.NEWS_SRC`093NEWSHELP.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSHELP.C NEWSHELP.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSHELP.C/update=sys$Input:/output=`091-.N
VEWS_SRC`093NEWSHELP.C
X$ DECK
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSHELP.C
X$ if checksum$checksum .ne. 2093962289 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSHELP.C_UPDATE;1 406529710
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSINCLUDE.H to `091-.NEWS_SR
VC`093NEWSINCLUDE.H
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:30.51
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSINCLUDE.H to produce
V `091-.NEWS_SRC`093NEWSINCLUDE.H
X$ checksum `091-.NEWS_V59_SRC`093NEWSINCLUDE.H
X$ if checksum$checksum .ne. 200566311 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSINCLUDE.H") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSINCLUDE.H
X$ if f$search("`091-.NEWS_SRC`093NEWSINCLUDE.H") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSINCLUDE.H NEWSINCLUDE.H_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSINCLUDE.H/update=sys$Input:/output=`091
V-.NEWS_SRC`093NEWSINCLUDE.H
X$ DECK
X-   22
X`009`009`009`009/* use the "new" mem management routines */
X#define malloc VAXC$MALLOC_OPT
X#define calloc VAXC$CALLOC_OPT
X#define realloc VAXC$REALLOC_OPT
X#define free VAXC$FREE_OPT
X#define cfree VAXC$CFREE_OPT
X
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSINCLUDE.H
X$ if checksum$checksum .ne. 59197586 then write sys$output "Checksum Error o
Vn UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSINCLUDE.H_UPDATE;1 1903444003
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSMOD.C to `091-.NEWS_SRC`09
V3NEWSMOD.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:35.44
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSMOD.C to produce `091
V-.NEWS_SRC`093NEWSMOD.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSMOD.C
X$ if checksum$checksum .ne. 1567461325 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSMOD.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSMOD.C
X$ if f$search("`091-.NEWS_SRC`093NEWSMOD.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSMOD.C NEWSMOD.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSMOD.C/update=sys$Input:/output=`091-.NE
VWS_SRC`093NEWSMOD.C
X$ DECK
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSMOD.C
X$ if checksum$checksum .ne. 1567461325 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSMOD.C_UPDATE;1 960445657
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSMODE.C to `091-.NEWS_SRC`0
V93NEWSMODE.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:41.43
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSMODE.C to produce `09
V1-.NEWS_SRC`093NEWSMODE.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSMODE.C
X$ if checksum$checksum .ne. 987898577 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSMODE.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSMODE.C
X$ if f$search("`091-.NEWS_SRC`093NEWSMODE.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSMODE.C NEWSMODE.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSMODE.C/update=sys$Input:/output=`091-.N
VEWS_SRC`093NEWSMODE.C
X$ DECK
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSMODE.C
X$ if checksum$checksum .ne. 987898577 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSMODE.C_UPDATE;1 1849111397
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSPOST.C to `091-.NEWS_SRC`0
V93NEWSPOST.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:49.65
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSPOST.C to produce `09
V1-.NEWS_SRC`093NEWSPOST.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSPOST.C
X$ if checksum$checksum .ne. 418493321 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSPOST.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSPOST.C
X$ if f$search("`091-.NEWS_SRC`093NEWSPOST.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSPOST.C NEWSPOST.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSPOST.C/update=sys$Input:/output=`091-.N
VEWS_SRC`093NEWSPOST.C
X$ DECK
X-   57,   58
X      mail_username_len,
X      i = 0;
X  short cc_type = MAIL$_CC;
X  char mail_username`091256`093,*cp1, *cp2;
X-   75,   76
X  i = 0;
X  if (mail_self_flag) `123
X    att_list`091i`093.buffer_length = 255;
X    att_list`091i`093.item_code = MAIL$_SEND_USER;
X    att_list`091i`093.buffer_address = mail_username;
X    att_list`091i`093.return_length_address = &mail_username_len;
X    ++i;
X    `125
X  att_list`091i`093.buffer_length = 0;
X  att_list`091i`093.item_code = 0;
X  att_list`091i`093.buffer_address = 0;
X  att_list`091i`093.return_length_address = 0;
X  sysprv();
X  if (!((sts = mail$send_begin(&context,null_list,att_list)) & 1)) `123
X-   80
X  i = 0;
X-  122,  124
X  cp1 = address;
X  do `123
X    i = 0;
X-  130
X    att_list`091i`093.buffer_length = 0;
X    att_list`091i`093.item_code = 0;
X    att_list`091i`093.buffer_address = 0;
X    att_list`091i`093.return_length_address = 0;
X    if (!((sts = mail$send_add_address(&context,att_list,null_list)) & 1)) `
V123
X      mail$send_end(&context,null_list,null_list);
X      nosysprv();
X      clear_err_line();
X      return(sts);
X      `125
X-  135,  143
X  if (mail_self_flag) `123
X    att_list`091i`093.buffer_length = mail_username_len;
X    att_list`091i`093.item_code = MAIL$_SEND_USERNAME;
X    att_list`091i`093.buffer_address = mail_username;
X    att_list`091i`093.return_length_address = 0;
X    ++i;
X    att_list`091i`093.buffer_length = 2;
X    att_list`091i`093.item_code = MAIL$_SEND_USERNAME_TYPE;
X    att_list`091i`093.buffer_address = &cc_type;
X    att_list`091i`093.return_length_address = 0;
X    ++i;
X    att_list`091i`093.buffer_length = 0;
X    att_list`091i`093.item_code = 0;
X    att_list`091i`093.buffer_address = 0;
X    att_list`091i`093.return_length_address = 0;
X    if (!((sts = mail$send_add_address(&context,att_list,null_list)) & 1)) `
V123
X      mail$send_end(&context,null_list,null_list);
X      nosysprv();
X      clear_err_line();
X      return(sts);
X      `125
X-  185,  186
X  sprintf(mail_cmd,"MAIL/NOEDIT%s %s/SUBJECT=\"%s\" %s",
X          (mail_self_flag ? "/SELF" : "/NOSELF"),file,quotes(subject),addres
Vs);
X-  210,  211
X    if (   (g = ga_exact_name(s))
X        && (   !(ga`091g`093->grp_flags & NEWS_M_LOCAL)
X            `124`124 (ga`091g`093->grp_flags & NEWS_M_MAILLIST)))
X-  223,  225
Xparse_newsgroups(newslist,dflt,ask,use_aliases,auth_check)
X  char *newslist, *dflt;
X  int ask, use_aliases, auth_check;
X-  239,  239
X    if (auth_check) auth_list(newsgroups);
X-  247,  247
X      if (!auth_check `124`124 auth_list(newsgroups)) `123
X-  305,  306
Xstatic
Xdo_posting(postfile,crosspost)
X  int postfile, crosspost;
X-  316,  319
X       xnewsgroups`091512`093, xfollowgroups`091512`093,
X       followup_groups`091512`093, ref_line`091256`093, old_ref_line`091256`
V093, subj_line`091256`093,
X       mod_address`091132`093, post_address`091256`093, control_val`091256`0
V93,
X       *cp, *p, *c1, *c2, *cn1, *cn2, *xx, *yy, *zz, lg`091132`093, *pa;
X  int approval_required = 0,
X      add_approved = 1,
X-  339,  343
X  *post_dist = *follow_groups = *followup_groups = *xnewsgroups = *xfollowgr
Voups = '\0';
X
X  if (crosspost) `123
X    use_default = 1;
X    mail_self = 0;
X    edit_switch = 0;
X    postfile = 0;
X    `125
X  else `123
X    if (cli$present(c$dsc("HEADERS")) & 1) use_default = 0;
X    mail_self = (cli$present(c$dsc("SELF")) & 1);
X    edit_switch = (cli$present(c$dsc("EDIT")) & 1);
X    `125
X-  348
X      if (!(cli$get_value(c$dsc("CONTROL"),&infile_dsc,&infile_len) & 1))
X        get_input(&infile_dsc,c$dsc("Control: "),&infile_len);
X      infile`091infile_len`093 = '\0';
X      if (!infile_len)`032
X        return(err_line("\tError: Post/Control - No control message entered\
Vn"),0);
X      strcpy(control_val,infile);
X      sprintf(err_oline,"Add Approved: header to control posting `091y`093:"
V);
X      status = get_input(&command,c$dsc(err_oline),&response_length);
X      if ((status == RMS$_EOF) `124`124 (status == SMG$_EOF))
X        return(err_line("\tPost - Canceled\n"),0);
X      if (!(   (status & 1)
X            && (   !response_length
X                `124`124 (   response_length
X                    && (toupper(*response) == 'Y')))))
X        add_approved = 0;
X-  360,  360
X    parse_newsgroups(ngroup,((curr_g) ? ga`091curr_g`093->grp_name : ""),0,1
V,1);
X-  402,  409
X    if (crosspost) `123
X      extract_orig = 1;
X      *infile = '\0';
X      `125
X    else `123
X      extract_orig = (cli$present(c$dsc("EXTRACT")) & 1);
X      if (!(cli$get_value(c$dsc("INFILE"),&infile_dsc,&infile_len) & 1))
X        *infile = '\0';
X      else infile`091infile_len`093 = '\0';
X      if ((!*infile) && (!edit_switch)) `123
X        err_line("\tError: Post - no file to post\n");
X        return(0);
X        `125
X-  425,  426
X            if (!crosspost) `123
X              fputs(">",fpw);
X              if (*xfrbuf != '>') fputs(" ",fpw);
X              `125
X-  444,  444
X          if (   !crosspost
X              && strncmp(&xfrbuf`0919`093,"Re: ",4)
X              && strncmp(&xfrbuf`0919`093,"re: ",4)) strcat(subj_line,"Re: "
V);
X-  449,  452
X        else if (!strncmp(xfrbuf,"Newsgroups:",11)) `123
X          strcpy(xnewsgroups,&xfrbuf`09112`093);
X          if (!*follow_groups) `123
X            strcpy(follow_groups,&xfrbuf`09112`093);
X            if (cp = strchr(follow_groups,'\n')) *cp = '\0';
X            s_to_lower(follow_groups);
X            `125
X-  455
X          strcpy(xfollowgroups,follow_groups);
X-  459,  459
X          if (!crosspost && !strcmp(follow_groups,"poster")) `123
X-  469
X          if (crosspost) fputs(xfrbuf,fpw);
X-  474,  474
X          if (crosspost) fputs(xfrbuf,fpw);
X          if (!crosspost && extract_orig) `123
X-  481
X        else if (crosspost && strncmp(xfrbuf,"Path:",5)) fputs(xfrbuf,fpw);
X-  492,  496
X    if (crosspost) parse_newsgroups(ngroup,"",1,1,1);
X    else `123
X      parse_newsgroups(ngroup,follow_groups,1,1,1);
X      if (fpr = profile_sigfile(ngroup)) `123
X        fputs("-- \n",fpw);
X        while (fgets(xfrbuf,512,fpr)) fputs(xfrbuf,fpw);
X        fclose(fpr);
X        `125
X-  556,  556
X  if (!subj_param && !crosspost) `123
X-  627,  627
X  if (!crosspost) fprintf(fpw,"From: %s",mail_sig);
X  else fprintf(fpw,"From: %s\nXPosted: %s",from,mail_sig);
X-  631,  631
X  if (control_switch) `123
X    fprintf(fpw,"Control: %s\n",control_val);
X    if (add_approved) fprintf(fpw,"Approved: %s\n",mail_sig);
X    `125
X  else add_approved = 0;
X-  637
X  if (crosspost) `123
X    if (*xnewsgroups) fprintf(fpw,"XNewsgroups: %s",xnewsgroups);
X    fprintf(fpw,"Followup-To: ");
X    if (*followup_groups) fprintf(fpw,"%s",followup_groups);
X    else fprintf(fpw,"%s",ngroup);
X    if (*xfollowgroups) fprintf(",%s",xfollowgroups);
X    else if (*xnewsgroups) fprintf(fpw,",%s",xnewsgroups);
X    else fprintf(fpw,"\n");
X    `125
X-  756,  759
X  if (!crosspost) `123
X    if (*profile_organization)
X      fprintf(fpw,"Organization: %s\n",profile_organization);
X    else if (*Organisation_name)
X      fprintf(fpw,"Organization: %s\n",Organisation_name);
X    `125
X-  815,  815
X  if (approval_required && !add_approved)`032
X    fprintf(fpw,"Approved: %s\n",mod_address);
X-  819,  820
X  if (!crosspost) `123
X    fprintf(fpw,"Lines: %d\n",line_count);
X    fprintf(fpw,"\n");
X    `125
X-  921,  921
X  return(do_posting(1,0));
X-  932,  932
X  return(do_posting(0,0));
X`125
X
Xdo_xpost()
X`123
X  return(do_posting(0,1));
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSPOST.C
X$ if checksum$checksum .ne. 1205096447 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSPOST.C_UPDATE;1 2019915657
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSRC.C to `091-.NEWS_SRC`093
VNEWSRC.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:26:59.80
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSRC.C to produce `091-
V.NEWS_SRC`093NEWSRC.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSRC.C
X$ if checksum$checksum .ne. 1788943575 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSRC.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSRC.C
X$ if f$search("`091-.NEWS_SRC`093NEWSRC.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSRC.C NEWSRC.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSRC.C/update=sys$Input:/output=`091-.NEW
VS_SRC`093NEWSRC.C
X$ DECK
X-   47,   47
X    profile_scansize = -1,
X    profile_filter = 0,
X    include_all_groups = 0,
X    reorder_groups = 0;
X-  164,  172
X      ca_i = 1,
X      new_cg;
X  GRP_PTR l_ga,
X          *ca;
X
X  ca = (GRP_PTR *) malloc((ga_size + 1) * (sizeof *ca));
X
X  for (g = 1; g <= ga_size ; ++g) `123
X    ga`091g`093->grp_flags &= `126NEWS_M_OLDGROUP;
X    `125
X
X  *profile_dirstr = '\0';
X  if (!(regr = fopen(news_register,"r","mbc=40"))) `123
X    FILE *fpold;
X    char buff`091512`093;
X    if (fpold = fopen("SYS$LOGIN:NEWS_GROUPS.REGISTER","r","mbc=40")) `123
X      regr = fopen(news_register,"w","mbc=40");
X-  176,  176
X      if (!(regr = fopen(news_register,"r","mbc=40"))) return(0);
X-  181,  181
X      if (!(regr = fopen("NEWS_MANAGER:NEWSRC.TEMPLATE","r","mbc=40"))) `123
X-  228
X    if (!(l_ga->grp_flags & NEWS_M_OLDGROUP)) `123
X      if (ca_i <= ga_size) ca`091ca_i++`093 = l_ga;
X      `125
X-  282,  282
X  if (profile_filter && !reorder_groups) `123
X    ca_i = 1;
X    for (g = 1; g <= ga_size ; ++g) `123
X      if ((ga`091g`093->grp_flags & NEWS_M_OLDGROUP) && (ca_i <= ga_size))
X        ca`091ca_i++`093 = l_ga;
X      `125
X    `125
X
X  for (g = 1; g <= ga_size ; ++g) `123
X    if (   include_all_groups
X        && !(ga`091g`093->grp_flags & NEWS_M_OLDGROUP)
X        && (ca_i <= ga_size))
X      ca`091ca_i++`093 = l_ga;
X-  287
X
X  if (profile_filter `124`124 reorder_groups) `123
X    for (g = 1; g <= ga_size ; ++g) `123
X      if (g < ca_i) ga`091g`093 = ca`091g`093;
X      `125
X    ga_size = ca_i - 1;
X    `125
X
X-  343,  367
X      char *gotenv, try_command`091256`093;
X
X      if ((!*profile_dirstr) && (gotenv = getenv("NEWS_DEFAULT_DIRECTORY")))
V `123
X`009strcpy(try_command,"DIRECTORY/");
X`009strcat(try_command,gotenv);
X`009if (cli$dcl_parse(c$dsc(try_command),&newscmd,0,0) & 1)
X`009  strcpy(profile_dirstr,gotenv);
X`009`125
X      if (*profile_dirstr) `123
X`009strcpy(try_command,"DIRECTORY/");
X`009strcat(try_command,profile_dirstr);
X`009if (cli$dcl_parse(c$dsc(try_command),&newscmd,0,0) & 1) cli$dispatch();
X`009else *profile_dirstr = '\0';
X        `125
X      if ((!*profile_dirstr) && old_dir_lev) do_dir(old_dir_lev,curr_class);
X      `125
X`009`009`009/* if (save_curr_g != curr_g) */
X      return(0);
X-  406,  406
X  if (!(regr = fopen(news_register,"w","mbc=40"))) `123
X-  444,  450
X                           write it out. */
X    if (!l_ia) `123
X      if (l_ga->grp_reg_text) `123
X        putl(" ",regr);
X        putl(l_ga->grp_reg_text,regr);
X        putl("\n",regr);
X        `125
X      else putl(" <0\n",regr);
X- 1355, 1355
X    parse_newsgroups(newslist,dflt,1,0,0);
X- 1530, 1530
X        parse_newsgroups(newslist,kng,1,0,0);
X- 2243
X    else if (!strncmp(inline,"RC-ORDER",8)) `123
X      reorder_groups = 1;
X      if (!profile_filter) include_all_groups = 1;
X      `125
X    else if (!strncmp(inline,"RC-FILTER",9)) `123
X      profile_filter = 1;
X      include_all_groups = 0;
X      `125
X- 2393
X    if (reorder_groups) putl("RC-ORDER\n",f);
X    if (profile_filter) putl("RC-FILTER\n",f);
X- 2523
X  if (reorder_groups)`032
X    put_line("RCOrder: Newsgroup Display ordering taken from newsrc file",0)
V;
X  if (profile_filter)
X    put_line("RCFilter: Newsgroups Filter based on  newsrc file",0);
X- 2564
X
X  if ((status = cli$present(c$dsc("RCORDER"))) == CLI$_NEGATED) reorder_grou
Vps = 0;
X  else if (status & 1) reorder_groups = 1;
X
X  if ((status = cli$present(c$dsc("RCFILTER"))) == CLI$_NEGATED) profile_fil
Vter = 0;
X  else if (status & 1) profile_filter = 1;
X
X- 2852, 2852
X  if (!(regr = fopen(news_register,"r","mbc=40"))) clsfiles(0);
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSRC.C
X$ if checksum$checksum .ne. 1468137275 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSRC.C_UPDATE;1 1246896482
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSREAD.C to `091-.NEWS_SRC`0
V93NEWSREAD.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:27:09.92
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSREAD.C to produce `09
V1-.NEWS_SRC`093NEWSREAD.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSREAD.C
X$ if checksum$checksum .ne. 1861871544 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSREAD.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSREAD.C
X$ if f$search("`091-.NEWS_SRC`093NEWSREAD.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSREAD.C NEWSREAD.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSREAD.C/update=sys$Input:/output=`091-.N
VEWS_SRC`093NEWSREAD.C
X$ DECK
X-  745,  781
Xreadtitle(h,r13,str,new_qual)
X  int h, r13, new_qual;
X  char *str;
X`123
X  char *w_str,
X       c_str`091SUBJLEN`093;
X  int i;
X  ITM_PTR iap;
X
X  if ((!curr_g) `124`124 (news_context < 2) `124`124 (curr_i < 1)) `123
X    err_line("Error: Read - No Newsgroup selected");
X    return(0);
X    `125
X
X  iap = ga`091curr_g`093->grp_ia;
X  w_str = malloc(strlen(str)+3);
X  s_to_lower(str);
X  strcpy(w_str,"*");
X  strcat(w_str+1,str);
X  strcat(w_str,"*");
X  for (i = curr_i+1; i <= ga`091curr_g`093->grp_count; ++i) `123
X    if (   !new_qual
X        `124`124 (iap`091i`093.itm_flags & NEWS_M_UNREAD)) `123
X      strcpy(c_str,iap`091i`093.itm_title);
X      s_to_lower(c_str);
X      if (wild_match(c_str,w_str)) break;
X      `125
X    `125
X  free(w_str);
X  if (i <= ga`091curr_g`093->grp_count) `123
X    cur_set_itm(curr_g,i);
X    item_update(curr_g,curr_i);
X    do_display(h,tpucall,r13);
X    `125
X  else `123
X    sprintf(err_oline,"Subject: %s - not located\n",str);
X    err_line(err_oline);
X    `125
X`125
X
Xdo_read()
X`123
X  static char subj`091128`093;
X  static $DESCRIPTOR(subj_dsc,subj);
X  char item`091128`093;
X  $DESCRIPTOR(item_dsc,item);
X  short item_len;
X  int h = 0,
X      rot13 = 0;
X
X  tpucall = 0;
X  if (cli$present(c$dsc("HEADER")) & 1) h = 1;
X  if (cli$present(c$dsc("TPU")) & 1) tpucall = 1;
X  if (cli$present(c$dsc("EDITOR")) & 1) tpucall = 1;
X  else if (cli$present(c$dsc("ROT13")) & 1) rot13 = 1;
X  if (cli$present(c$dsc("FOLLOWUP")) & 1) return(do_readfollow(h,rot13,(cli$
Vpresent(c$dsc("NEW")) & 1)),0);
X  if (cli$present(c$dsc("SUBJECT")) & 1) `123
X    if (   (cli$get_value(c$dsc("SUBJECT"),&item_dsc,&item_len) & 1)
X        `124`124 (get_input_dflt(&item_dsc,c$dsc("Read/Subject="),&item_len,
Vc$dsc(subj),0) & 1)) `123
X      item`091item_len`093 = '\0';
X      strcpy(subj,item);
X      if (item_len) readtitle(h,rot13,subj,(cli$present(c$dsc("NEW")) & 1));
X      `125
X    return(0);
X    `125
X  if (cli$present(c$dsc("TITLE")) & 1) `123
X    if (   (cli$get_value(c$dsc("TITLE"),&item_dsc,&item_len) & 1)
X        && (get_input_dflt(&item_dsc,c$dsc("Read/Title="),&item_len,c$dsc(su
Vbj),0) & 1)) `123
X      subj`091item_len`093 = '\0';
X      strcpy(subj,item);
X      if (item_len) readtitle(h,rot13,subj,(cli$present(c$dsc("NEW")) & 1));
X      `125
X    return(0);
X    `125
X  if (cli$present(c$dsc("NEW")) & 1) return(do_readnew(h,rot13,0),0);
X  if (cli$present(c$dsc("NEXT")) & 1) return(do_readnext(h,rot13,tpucall),0)
V;
X  if (cli$present(c$dsc("PARENT")) & 1) return(do_readparent(h,rot13),0);
X  if (cli$present(c$dsc("TOPIC")) & 1) return(do_readancestor(h,rot13,tpucal
Vl),0);
X  if (cli$present(c$dsc("IDENTIFIER")) & 1) return(do_readident(h,rot13),0);
X  if (cli$present(c$dsc("MARKER")) & 1) return(do_readmark(h,rot13),0);
X  if (cli$present(c$dsc("PREV")) & 1) return(do_readprev(h,rot13),0);
X  if ((cli$present(c$dsc("LAST")) & 1) `124`124 (cli$present(c$dsc("BACK"))
V & 1)) `123
X    if ((news_context > 1) && curr_g && (curr_i > 0)) `123
X      if (cur_up_itm(curr_g,1,0) == 1) `123
X-  785,  785
X      `125
X    return(0);
X    `125
X  if (cli$get_value(c$dsc("NEWSITEM"),&item_dsc,&item_len) != CLI$_ABSENT) `
V123
X    if (curr_g) `123
X      item`091item_len`093 = '\0';
X      do_readfind(item,h,rot13);
X      `125
X    `125
X  else if ((curr_g) && (curr_i > 0) && (news_context > 1)) `123
X    item_update(curr_g,curr_i);
X    do_display(h,tpucall,rot13);
X    `125
X  return(0);
X-  872,  888
X  int h = 0,
X      rot13 = 0;
X
X  tpucall = 0;
X  if (cli$present(c$dsc("HEADER")) & 1) h = 1;
X  if (cli$present(c$dsc("TPU")) & 1) tpucall = 1;
X  if (cli$present(c$dsc("EDITOR")) & 1) tpucall = 1;
X  else if (cli$present(c$dsc("ROT13")) & 1) rot13 = 1;
X  if ((news_context > 1) && curr_g && (curr_i > 0)) `123
X    if (cur_up_itm(curr_g,1,0) == 1) `123
X      item_update(curr_g,curr_i);
X      do_display(h,tpucall,rot13);
X      `125
X    else err_line("\tBACK: No previous item\n");
X    `125
X  else err_line("\tBACK: No newsgroup open\n");
X  return(0);
X-  893,  904
X  int h = 0,
X      rot13 = 0;
X
X  tpucall = 0;
X  if (cli$present(c$dsc("HEADER")) & 1) h = 1;
X  if (cli$present(c$dsc("TPU")) & 1) tpucall = 1;
X  if (cli$present(c$dsc("EDITOR")) & 1) tpucall = 1;
X  else if (cli$present(c$dsc("ROT13")) & 1) rot13 = 1;
X  if ((news_context > 1) && curr_g && (curr_i > 0))
X    return(do_readparent(h,rot13),0);
X  else err_line("\tBACK: No newsgroup open\n");
X  return(0);
X-  909,  920
X  int h = 0,
X      rot13 = 0;
X
X  tpucall = 0;
X  if (cli$present(c$dsc("HEADER")) & 1) h = 1;
X  if (cli$present(c$dsc("TPU")) & 1) tpucall = 1;
X  if (cli$present(c$dsc("EDITOR")) & 1) tpucall = 1;
X  else if (cli$present(c$dsc("ROT13")) & 1) rot13 = 1;
X  if ((news_context > 1) && curr_g && (curr_i > 0))
X    return(do_readancestor(h,rot13,tpucall),0);
X  else err_line("\tTOPIC: No newsgroup open\n");
X  return(0);
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSREAD.C
X$ if checksum$checksum .ne. 501745877 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSREAD.C_UPDATE;1 1446799242
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSREGISTER.C to `091-.NEWS_S
VRC`093NEWSREGISTER.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:27:14.58
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSREGISTER.C to produce
V `091-.NEWS_SRC`093NEWSREGISTER.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSREGISTER.C
X$ if checksum$checksum .ne. 679633172 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSREGISTER.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSREGISTER.C
X$ if f$search("`091-.NEWS_SRC`093NEWSREGISTER.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSREGISTER.C NEWSREGISTER.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSREGISTER.C/update=sys$Input:/output=`09
V1-.NEWS_SRC`093NEWSREGISTER.C
X$ DECK
X/
X$EOD
X$ checksum `091-.NEWS_SRC`093NEWSREGISTER.C
X$ if checksum$checksum .ne. 679633172 then write sys$output "Checksum Error
V on UPDATED source."
X$ write sys$output "Completed Conversion"
$ CALL UNPACK NEWSREGISTER.C_UPDATE;1 761689104
$ create/nolog 'f'
X$! Procedure to convert `091-.NEWS_V59_SRC`093NEWSREMCLIENT.C to `091-.NEWS_
VSRC`093NEWSREMCLIENT.C
X$!
X$! Execute this file with @<file>
X$! The original BASE source for NEWS V5.9 must be in `091-.NEWS_V59_SRC`093
X$!
X$! generated by SLOANE       at  3-JAN-1990 14:27:18.96
X$!
X$ set noon
X$ write sys$Output "Updating `091-.NEWS_V59_SRC`093NEWSREMCLIENT.C to produc
Ve `091-.NEWS_SRC`093NEWSREMCLIENT.C
X$ checksum `091-.NEWS_V59_SRC`093NEWSREMCLIENT.C
X$ if checksum$checksum .ne. 597899304 then write sys$output "Checksum Error
V on MASTER source."
X$ if f$search("`091-.NEWS_SRC`093NEWSREMCLIENT.C") .nes. "" then -
X        purge `091-.NEWS_SRC`093NEWSREMCLIENT.C
X$ if f$search("`091-.NEWS_SRC`093NEWSREMCLIENT.C") .nes. "" then -
X        rename `091-.NEWS_SRC`093NEWSREMCLIENT.C NEWSREMCLIENT.C_old
X$ edit/sum `091-.NEWS_V59_SRC`093NEWSREMCLIENT.C/update=sys$Input:/output=`0
V91-.NEWS_SRC`093NEWSREMCLIENT.C
X$ DECK
X-   41,   41
X**        - Add support for MULTINET Multinet - Mats Sundvall
X-   53,   58
X#define WEEK`009`009(60*60*24*7)
X#define CMUTCP     1
X#define WINTCP     2
X#define MULTINETTCP     3
X
X#ifdef MULTINET
X#define MULTINET`009   1
X-   65,   65
X#if TWG `124`124 MULTINET
X-  268,  272
X#elif MULTINET
X  else if (proto == MULTINETTCP) `123
X    if (sys$assign(c$dsc("INET0:"),&net_chan,0,0) & 1) `123
X#endif
X#if TWG `124`124 MULTINET
X-  349,  349
X  if (!nntp_write("STAT") `124`124 (!(wait_net_response(RESP_TIMER,1)))) `12
V3
X-  355,  355
X      else if (net_proto == MULTINETTCP) proto_type = 'M';
X-  369,  369
X *  proto (3 = MULTINETTCP, 2 == WINTCP, 1 == CMUTCP, 0 = DECNET)
X-  394,  394
X      else if (net_proto == MULTINETTCP) proto_type = 'M';
X-  407,  407
X      else if (net_proto == MULTINETTCP) proto_type = 'M';
X-  645
X  int daytime, resp_val;
X-  652,  653
X   `032
X    printf("\tWorking on %s (Served on %s::)\n",reply->grpname,reply->grpnod
Ve);
X    if (open_rem_chan(reply->grpnode,reply->nproto)) `123
X      time(&daytime);
X      if (   (reply->grptime > daytime)
X          `124`124 (reply->grptime < 0))
X`009 reply->grptime = daytime - WEEK;
X-  659,  659
X        if ((resp_val = wait_net_response(CLIENT_TIMER,1)) == 480) `123
X          printf("\t\tNewsgroup not defined on server\n");
X          reply = reply->grpsnext;
X          continue;
X          `125
+-+-+-+-+-+-+-+-  END  OF PART 2 +-+-+-+-+-+-+-+-
-- 
USmail: Bob Sloane, University of Kansas Computer Center, Lawrence, KS, 66045
E-mail: sloane@kuhub.cc.ukans.edu, sloane@ukanvax.bitnet, AT&T: (913)864-0444