[news.software.anu-news] NEWS V5.9C diff 11/21

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

+-+-+-+ Beginning of part 11 +-+-+-+
V      printf("\tWorking on %s (Served on %s::)\n",reply->grpname,reply->grpno
Xde);
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        stm = localtime(&(reply->grptime));
X        sprintf(cmd,"XUPDGROUP %s %02d%02d%02d %02d%02d%02d",reply->grpname,
X  `009stm->tm_year,stm->tm_mon + 1,stm->tm_mday,
X**************
X*** 656,662
X  `009stm->tm_year,stm->tm_mon + 1,stm->tm_mday,
X  `009stm->tm_hour,stm->tm_min,stm->tm_sec);
X        if (nntp_write(cmd)) `123
X!         if (wait_net_response(CLIENT_TIMER,1) == 380) `123
X            tmp = reply->ids;
X            while (tmp) `123
X              sprintf(cmd,"%s",tmp->itmid);
X--- 663,674 -----
X  `009stm->tm_year,stm->tm_mon + 1,stm->tm_mday,
X  `009stm->tm_hour,stm->tm_min,stm->tm_sec);
X        if (nntp_write(cmd)) `123
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
X!         if (resp_val == 380) `123
X            tmp = reply->ids;
X            while (tmp) `123
X              sprintf(cmd,"%s",tmp->itmid);
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSRTL.DIFF"
$ CHECKSUM_IS = 1075192793
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsrtl.c
X--- [.news_src]newsrtl.c
X**************
X*** 405,409
X          return(1);
X          `125
X      if ((*p == '%') `124`124 (*p == '?')) return(wild_match(l+1,p+1));
X      return((*l == *p) && wild_match(l+1,p+1));
X  `125
X--- 405,410 -----
X          return(1);
X          `125
X      if ((*p == '%') `124`124 (*p == '?')) return(wild_match(l+1,p+1));
X+     if (*p == '`094') return((*l == *(p+1)) && wild_match(l+1,p+2));
X      return((*l == *p) && wild_match(l+1,p+1));
X  `125
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSSEARCH.DIFF"
$ CHECKSUM_IS = 1985493570
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newssearch.c
X--- [.news_src]newssearch.c
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSSELECT.DIFF"
$ CHECKSUM_IS = 1409864608
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newsselect.c
X--- [.news_src]newsselect.c
X**************
X*** 30,35
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X  #include "newsextern.h"
X  `012
X  /*
X   *  selnew
X--- 30,37 -----
X  #include "newsinclude.h"
X  #include "newsdefine.h"
X  #include "newsextern.h"
X+`032
X+ #define CLASSES 1
X  `012
X  /*
X   *  selnew
X**************
X*** 40,46
X  selnew(lev)
X    int lev;
X  `123
X!   int g,                            `032
X        mg = 0,
X        mp = 0;
X `032
X--- 42,48 -----
X  selnew(lev)
X    int lev;
X  `123
X!   int g,
X        mg = 0,
X        mp = 0;
X `032
X**************
X*** 50,56
X      return(0);
X      `125
X `032
X!   if ((curr_g) && (ga[curr_g]->grp_reg) && (ga[curr_g]->grp_unread)) `123
X      if (news_context != 1) return(do_select("%",curr_g,lev),1);
X      else `123
X        mg = curr_g;
X--- 52,66 -----
X      return(0);
X      `125
X `032
X!   if (   curr_g
X!       && ga[curr_g]->grp_reg
X!       && ga[curr_g]->grp_unread
X!`032
X! #if CLASSES
X!       && ga[curr_g]->grp_display_indx
X! #endif
X!       ) `123
X!`032
X      if (news_context != 1) return(do_select("%",curr_g,lev),1);
X      else `123
X        mg = curr_g;
X**************
X*** 58,63
X        `125
X      `125
X `032
X    g = 1;
X    for (g = 1; g <= ga_size; ++g) `123
X      if ((ga[g]->grp_reg > mp) && (ga[g]->grp_unread)) `123
X--- 68,74 -----
X        `125
X      `125
X `032
X+   no_more_news = 1;
X    g = 1;
X    for (g = 1; g <= ga_size; ++g) `123
X      if (ga[g]->grp_reg && ga[g]->grp_unread) `123
X**************
X*** 60,68
X `032
X    g = 1;
X    for (g = 1; g <= ga_size; ++g) `123
X!     if ((ga[g]->grp_reg > mp) && (ga[g]->grp_unread)) `123
X!       mp = ga[g]->grp_reg;
X!       mg = g;
X        `125
X      `125
X `032
X--- 71,86 -----
X    no_more_news = 1;
X    g = 1;
X    for (g = 1; g <= ga_size; ++g) `123
X!     if (ga[g]->grp_reg && ga[g]->grp_unread) `123
X!       no_more_news = 0;
X!       if (  (ga[g]->grp_reg > mp)
X! #if CLASSES
X!           && ga[g]->grp_display_indx
X! #endif     `032
X!           ) `123
X!         mp = ga[g]->grp_reg;
X!         mg = g;
X!         `125
X        `125
X      `125
X `032
X**************
X*** 77,84
X        if (ga[curr_g]->grp_ia[i].itm_flags & NEWS_M_UNREAD) break;
X      cur_set_itm(curr_g,i);
X      return(1);
X!     `125   `032
X!   else no_more_news = 1;
X    if (!ga_size) err_line("\tSelect - NEWS has no Newsgroups\n");
X    else err_line("\tSelect - No new items in registered groups\n");
X    return(0);
X--- 95,101 -----
X        if (ga[curr_g]->grp_ia[i].itm_flags & NEWS_M_UNREAD) break;
X      cur_set_itm(curr_g,i);
X      return(1);
X!     `125
X    if (!ga_size) err_line("\tSelect - NEWS has no Newsgroups\n");
X    else err_line("\tSelect - No new items\n");
X    return(0);
X**************
X*** 80,86
X      `125   `032
X    else no_more_news = 1;
X    if (!ga_size) err_line("\tSelect - NEWS has no Newsgroups\n");
X!   else err_line("\tSelect - No new items in registered groups\n");
X    return(0);
X  `125
X  `012
X--- 97,103 -----
X      return(1);
X      `125
X    if (!ga_size) err_line("\tSelect - NEWS has no Newsgroups\n");
X!   else err_line("\tSelect - No new items\n");
X    return(0);
X  `125
X  `012
X**************
X*** 90,96
X    int i;
X    unsigned int g,
X                 m,
X!                gm;                 `032
X    char tg[80],
X         *tag = 0;
X    short tag_len;
X--- 107,113 -----
X    int i;
X    unsigned int g,
X                 m,
X!                gm;
X    char tg[80],
X         *tag = 0;
X    short tag_len;
X**************
X*** 222,227
X      s[s_l] = '\0';
X      s_to_lower(s);
X      if (!strcmp(s,"mail")) return(do_open_mail());
X      `125
X    if (cli$present(c$dsc("CLASSNAME")) & 1) return(do_set_class());
X    return(do_selgrp());
X--- 239,246 -----
X      s[s_l] = '\0';
X      s_to_lower(s);
X      if (!strcmp(s,"mail")) return(do_open_mail());
X+     if (do_select(s,0,2)) selgrp_action();
X+     return(0);
X      `125
X    if (cli$present(c$dsc("CLASSNAME")) & 1) return(do_set_class());
X    return(do_selgrp());
$ GOSUB UNPACK_FILE

$ FILE_IS = "NEWSSETSHOW.DIFF"
$ CHECKSUM_IS = 1947356532
$ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY
X*** [.news_v59_src]newssetshow.c
X--- [.news_src]newssetshow.c
X**************
X*** 26,32
V  **        - Alter SHOW NEWSGROUP output to be similar to that of newsgroup_
Xheader()
X  **        - Add SET NEWSGROUP/TITLE
V  **        - Due to code commonality, NEWSCREATE has been included in this m
Xodule
X! **        - Add support for SRI Multinet TCP (Mats Sundvall)
X  **      V5.9     9-June-1989     GIH
X  **        - If ADD MEMBER modifies an existing member then the confirmation
X  **          message indicates alteration rather than addition.
X--- 26,32 -----
V  **        - Alter SHOW NEWSGROUP output to be similar to that of newsgroup_
Xheader()
X  **        - Add SET NEWSGROUP/TITLE
V  **        - Due to code commonality, NEWSCREATE has been included in this m
Xodule
X! **        - Add support for MULTINET Multinet TCP (Mats Sundvall)
X  **      V5.9     9-June-1989     GIH
X  **        - If ADD MEMBER modifies an existing member then the confirmation
X  **          message indicates alteration rather than addition.
X**************
X*** 159,165
X        if (!len) protocol_val = 0;
X        else if (!strncmp(tmpstr,"CMUTCP",len)) protocol_val= 1;
X        else if (!strncmp(tmpstr,"WINTCP",len)) protocol_val = 2;
X!       else if (!strncmp(tmpstr,"SRITCP",len)) protocol_val = 3;
X        else if (!strncmp(tmpstr,"TCP",len))
X `032
X  #ifdef SRI
X--- 159,165 -----
X        if (!len) protocol_val = 0;
X        else if (!strncmp(tmpstr,"CMUTCP",len)) protocol_val= 1;
X        else if (!strncmp(tmpstr,"WINTCP",len)) protocol_val = 2;
X!       else if (!strncmp(tmpstr,"MULTINETTCP",len)) protocol_val = 3;
X        else if (!strncmp(tmpstr,"TCP",len))
X `032
X  #ifdef MULTINET
X**************
X*** 162,168
X        else if (!strncmp(tmpstr,"SRITCP",len)) protocol_val = 3;
X        else if (!strncmp(tmpstr,"TCP",len))
X `032
X! #ifdef SRI
X            protocol_val = 3;
X  #else
X  #ifdef TWG
X--- 162,168 -----
X        else if (!strncmp(tmpstr,"MULTINETTCP",len)) protocol_val = 3;
X        else if (!strncmp(tmpstr,"TCP",len))
X `032
X! #ifdef MULTINET
X            protocol_val = 3;
X  #else
X  #ifdef TWG
X**************
X*** 1205,1213
X  check_access(g)
X      int g;
X  `123
X!     char acline[256], cknode[132], mod[132],
X!          *cp, *ap, *op;
X!     FILE *fpd;
X `032
X      ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X      if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123
X--- 1205,1213 -----
X  check_access(g)
X      int g;
X  `123
X!   char acline[256], cknode[132], mod[132],
X!        *cp, *ap, *op;
X!   FILE *fpd;
X `032
X    ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X    if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123
X**************
X*** 1209,1221
X           *cp, *ap, *op;
X      FILE *fpd;
X `032
X!     ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X!     if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123
X!         sprintf(mod,"%s@%s",usr_username,Node_address);
X!         if (!strcmp(mod,moderator_address(ga[g]->grp_name))) `123
V!             ga[g]->grp_flags `124= (NEWS_M_MOD_USER `124 NEWS_M_WRITE_ACCES
XS);
X!             return;
X!             `125
X          `125
V      if (!(ga[g]->grp_flags & NEWS_M_NOWRITE_SET))  ga[g]->grp_flags `124= N
XEWS_M_WRITE_ACCESS;
X      sprintf(itm_fname,Access_template,util_dir(ga[g]->grp_name));
X--- 1209,1246 -----
X         *cp, *ap, *op;
X    FILE *fpd;
X `032
X!   ga[g]->grp_flags `124= NEWS_M_ACCESS_CHECKED;
X!   if (ga[g]->grp_flags & NEWS_M_MAILMODERATE) `123
X!     sprintf(mod,"%s@%s",usr_username,Node_address);
X!     if (!strcmp(mod,moderator_address(ga[g]->grp_name))) `123
X!       ga[g]->grp_flags `124= (NEWS_M_MOD_USER `124 NEWS_M_WRITE_ACCESS);
X!       return;
X!       `125
X!     `125
X!   if (!(ga[g]->grp_flags & NEWS_M_NOWRITE_SET))
X!     ga[g]->grp_flags `124= NEWS_M_WRITE_ACCESS;
X!   sprintf(itm_fname,Access_template,util_dir(ga[g]->grp_name));
X!   sysprv();
X!   if (fpd = fopen(itm_fname,"r")) `123
X!     while (fgets(acline,256,fpd)) `123
X!       if (*acline == '#') continue;
X!       if (cp = strchr(acline,'\n')) *cp = ' ';
X!       s_to_lower(acline);
X!       if (cp = strchr(acline,' ')) *cp = '\0';
X!       if (ap = strchr(acline,'@')) *ap = '\0';
X!       if (op = strchr(acline,':')) *op = '\0';
X!       if (   !strcmp(acline,usr_username)
X!           `124`124 wild_match(usr_username,acline)
X!           `124`124 idmatch(acline)) `123
X!         if (cp) *cp = ' ';
X!         if (ap) *ap = '@';
X!         if (strchr(acline,'@')) `123
X!           sprintf(cknode,"@%s ",news_node);
X!           if (!substrcmp(cp,cknode)) continue;
X!           `125
V!         if (substrcmp(cp," write ")) ga[g]->grp_flags `124= NEWS_M_WRITE_AC
XCESS;
V!         if (substrcmp(cp," nowrite ")) ga[g]->grp_flags &= `126NEWS_M_WRITE
X_ACCESS;
V!         if (substrcmp(cp," moderate ")) ga[g]->grp_flags `124= (NEWS_M_MOD_
XUSER `124 NEWS_M_WRITE_ACCESS);
X          `125
X        `125
X      fclose(fpd);
X**************
X*** 1217,1248
X              return;
X              `125
X          `125
V!     if (!(ga[g]->grp_flags & NEWS_M_NOWRITE_SET))  ga[g]->grp_flags `124= N
XEWS_M_WRITE_ACCESS;
X!     sprintf(itm_fname,Access_template,util_dir(ga[g]->grp_name));
X!     sysprv();
X!     if (fpd = fopen(itm_fname,"r")) `123
X!         while (fgets(acline,256,fpd)) `123
X!             if (*acline == '#') continue;
X!             if (cp = strchr(acline,'\n')) *cp = ' ';
X!             s_to_lower(acline);
X!             if (cp = strchr(acline,' ')) *cp = '\0';
X!             if (ap = strchr(acline,'@')) *ap = '\0';
X!             if (op = strchr(acline,':')) *op = '\0';
V!             if (!strcmp(acline,usr_username) `124`124 wild_match(usr_userna
Xme,acline) `124`124 idmatch(acline)) `123
X!                 if (cp) *cp = ' ';
X!                 if (ap) *ap = '@';
X!                 if (strchr(acline,'@')) `123
X!                     sprintf(cknode,"@%s ",news_node);
X!                     if (!substrcmp(cp,cknode)) continue;
X!                     `125
V!                 if (substrcmp(cp," write ")) ga[g]->grp_flags `124= NEWS_M_
XWRITE_ACCESS;
V!                 if (substrcmp(cp," nowrite ")) ga[g]->grp_flags &= `126NEWS
X_M_WRITE_ACCESS;
V!                 if (substrcmp(cp," moderate ")) ga[g]->grp_flags `124= (NEW
XS_M_MOD_USER `124 NEWS_M_WRITE_ACCESS);
X!                 `125
X!             `125
X!         fclose(fpd);
X!         `125
X!     nosysprv();
X  `125
X  `012
X  do_set_mod()
X--- 1242,1251 -----
V          if (substrcmp(cp," nowrite ")) ga[g]->grp_flags &= `126NEWS_M_WRITE
X_ACCESS;
V          if (substrcmp(cp," moderate ")) ga[g]->grp_flags `124= (NEWS_M_MOD_
XUSER `124 NEWS_M_WRITE_ACCESS);
X          `125
X!       `125
X!     fclose(fpd);
X!     `125
X!   nosysprv();
X  `125
X  `012
X  do_set_mod()
X**************
X*** 1371,1377
X                                               ga[0]->grp_itmlife);
X        `125
X      if (!*hold) `123
X!       if (ga[0]->grp_life == 65535) strcpy(hold,"[Permanent (Default)");
X        else if (ga[0]->grp_life) sprintf(hold,"%u days (Default)",
X                                               ga[0]->grp_life);
X        hold_val = ga[0]->grp_life;
X--- 1374,1380 -----
X                                               ga[0]->grp_itmlife);
X        `125
X      if (!*hold) `123
X!       if (ga[0]->grp_life == 65535) strcpy(hold,"[Permanent (Default)]");
X        else if (ga[0]->grp_life) sprintf(hold,"%u days (Default)",
X                                               ga[0]->grp_life);
X        hold_val = ga[0]->grp_life;
X**************
X*** 1425,1431
X `032
X      if (ga[g]->grp_srvproto == 1) put_line("NNTP-Transport: TCP (CMU)",0);
V      else if (ga[g]->grp_srvproto  == 2) put_line("NNTP-Transport: TCP (WIN)
X",0);
V!     else if (ga[g]->grp_srvproto  == 3) put_line("NNTP-Transport: TCP (SRI)
X",0);
X      else put_line("NNTP-Transport: DECnet",0);
X      if (!(ga[g]->grp_flags & NEWS_M_NNTPCACHE))
X        put_line("NNTP-Local-Note-Cache: Disabled",0);
X--- 1428,1434 -----
X `032
X      if (ga[g]->grp_srvproto == 1) put_line("NNTP-Transport: TCP (CMU)",0);
V      else if (ga[g]->grp_srvproto  == 2) put_line("NNTP-Transport: TCP (WIN)
X",0);
V!     else if (ga[g]->grp_srvproto  == 3) put_line("NNTP-Transport: TCP (MULT
XINET)",0);
X      else put_line("NNTP-Transport: DECnet",0);
X      if (!(ga[g]->grp_flags & NEWS_M_NNTPCACHE))
X        put_line("NNTP-Local-Note-Cache: Disabled",0);
X**************
X*** 1514,1520
X    old_lev = news_context;
X `032
X    if (upd_client) strcpy(s,"*");
X!   else parse_newsgroups(s,"",0,0);
-+-+-+-+-+ End of part 11 +-+-+-+-+-