home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-10-19 | 48.5 KB | 2,048 lines |
- Newsgroups: comp.sources.misc
- From: iain@norisc.siemens.de (Iain J. Lea)
- Subject: v23i080: tin - threaded full screen newsreader, Patch03c/4
- Message-ID: <1991Oct20.032037.24702@sparky.imd.sterling.com>
- X-Md4-Signature: 96b736eade70fe8cd1ac730e55c84e21
- Date: Sun, 20 Oct 1991 03:20:37 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: iain@norisc.siemens.de (Iain J. Lea)
- Posting-number: Volume 23, Issue 80
- Archive-name: tin/patch03c
- Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
- Patch-To: tin: Volume 23, Issue 15-23
-
- #!/bin/sh
- # this is tin.patch.03 (part 3 of tin1.0)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file tin.patch03 continued
- #
- if touch 2>&1 | fgrep '[-amc]' > /dev/null
- then TOUCH=touch
- else TOUCH=true
- fi
- if test ! -r shar3_seq_.tmp; then
- echo "Please unpack part 1 first!"
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 3; then
- echo "Please unpack part $Scheck next!"
- exit 1
- else
- exit 0
- fi
- ) < shar3_seq_.tmp || exit 1
- echo "x - Continuing file tin.patch03"
- sed 's/^X//' << 'SHAR_EOF' >> tin.patch03 &&
- X case -1:
- X! fprintf (stderr, txt_failed_to_connect_to_server, server);
- X exit (1);
- X
- X default:
- X***************
- X*** 144,150 ****
- X char *group_path;
- X long art;
- X {
- X! char buf[LEN+1];
- X struct stat sb;
- X extern long note_size;
- X
- X--- 147,153 ----
- X char *group_path;
- X long art;
- X {
- X! char buf[LEN];
- X struct stat sb;
- X extern long note_size;
- X
- X***************
- X*** 178,184 ****
- X char *group_path;
- X long art;
- X {
- X! char buf[LEN+1];
- X
- X if (read_news_via_nntp) {
- X #ifdef USE_NNTP
- X--- 181,187 ----
- X char *group_path;
- X long art;
- X {
- X! char buf[LEN];
- X
- X if (read_news_via_nntp) {
- X #ifdef USE_NNTP
- X***************
- X*** 227,233 ****
- X char *group;
- X char *group_path;
- X {
- X! char buf[LEN+1];
- X #ifdef USE_NNTP
- X char line[NNTP_STRLEN];
- X #endif
- X--- 230,236 ----
- X char *group;
- X char *group_path;
- X {
- X! char buf[LEN];
- X #ifdef USE_NNTP
- X char line[NNTP_STRLEN];
- X #endif
- X***************
- X*** 283,289 ****
- X }
- X }
- X closedir (d);
- X! qsort ((char *) base, top_base, sizeof(long), base_comp);
- X }
- X }
- X }
- X--- 286,292 ----
- X }
- X }
- X closedir (d);
- X! qsort ((char *) base, top_base, sizeof (long), base_comp);
- X }
- X }
- X }
- X***************
- X*** 353,359 ****
- X
- X FILE *nntp_to_fp ()
- X {
- X! char fnam[LEN+1];
- X FILE *fp;
- X
- X if (! stuff_nntp (fnam))
- X--- 356,362 ----
- X
- X FILE *nntp_to_fp ()
- X {
- X! char fnam[LEN];
- X FILE *fp;
- X
- X if (! stuff_nntp (fnam))
- X***************
- X*** 371,377 ****
- X int nntp_to_fd ()
- X {
- X #ifdef USE_NNTP
- X! char fnam[LEN+1];
- X int fd;
- X
- X if (! stuff_nntp (fnam))
- X--- 374,380 ----
- X int nntp_to_fd ()
- X {
- X #ifdef USE_NNTP
- X! char fnam[LEN];
- X int fd;
- X
- X if (! stuff_nntp (fnam))
- Xdiff -rcs 102/page.c 103/page.c
- X*** 102/page.c Tue Sep 24 08:23:51 1991
- X--- 103/page.c Mon Sep 30 18:45:06 1991
- X***************
- X*** 3,9 ****
- X * Module : page.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 16-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X--- 3,9 ----
- X * Module : page.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 30-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 19,49 ****
- X
- X extern int cur_groupnum;
- X
- X! char note_h_path[LEN+1]; /* Path: */
- X! char note_h_date[LEN+1]; /* Date: */
- X! char note_h_subj[LEN+1]; /* Subject: */
- X! char note_h_from[LEN+1]; /* From: */
- X! char note_h_org[LEN+1]; /* Organization: */
- X! char note_h_newsgroups[LEN+1]; /* Newsgroups: */
- X! char note_h_messageid[LEN+1]; /* Message-ID: */
- X! char note_h_distrib[LEN+1]; /* Distribution: */
- X! char note_h_followup[LEN+1]; /* Followup-To: */
- X
- X char note_full_name[100];
- X char note_from_addr[100];
- X char *glob_page_group;
- X
- X! FILE *note_fp; /* the body of the current article */
- X
- X int note_line;
- X int note_page; /* what page we're on */
- X int note_end; /* we're done showing this article */
- X int rotate; /* 0=normal, 13=rot13 decode */
- X! int last_resp; /* current & previous article for - command */
- X int this_resp;
- X int glob_respnum;
- X
- X! long note_mark[MAX_PAGES]; /* ftells on beginnings of pages */
- X long note_size; /* stat size in bytes of article */
- X
- X
- X--- 19,49 ----
- X
- X extern int cur_groupnum;
- X
- X! char note_h_path[LEN]; /* Path: */
- X! char note_h_date[LEN]; /* Date: */
- X! char note_h_subj[LEN]; /* Subject: */
- X! char note_h_from[LEN]; /* From: */
- X! char note_h_org[LEN]; /* Organization: */
- X! char note_h_newsgroups[LEN]; /* Newsgroups: */
- X! char note_h_messageid[LEN]; /* Message-ID: */
- X! char note_h_distrib[LEN]; /* Distribution: */
- X! char note_h_followup[LEN]; /* Followup-To: */
- X
- X char note_full_name[100];
- X char note_from_addr[100];
- X char *glob_page_group;
- X
- X! FILE *note_fp; /* the body of the current article */
- X
- X int note_line;
- X int note_page; /* what page we're on */
- X int note_end; /* we're done showing this article */
- X int rotate; /* 0=normal, 13=rot13 decode */
- X! int last_resp; /* current & previous article for - command */
- X int this_resp;
- X int glob_respnum;
- X
- X! long note_mark[MAX_PAGES]; /* ftells on beginnings of pages */
- X long note_size; /* stat size in bytes of article */
- X
- X
- X***************
- X*** 55,63 ****
- X char ch;
- X int i, n;
- X int kill_state = NO_KILLING;
- X- int old_artnum;
- X int old_sort_art_type = sort_art_type;
- X int old_top;
- X long art;
- X
- X restart:
- X--- 55,63 ----
- X char ch;
- X int i, n;
- X int kill_state = NO_KILLING;
- X int old_sort_art_type = sort_art_type;
- X int old_top;
- X+ long old_artnum;
- X long art;
- X
- X restart:
- X***************
- X*** 123,128 ****
- X--- 123,129 ----
- X
- X case 'I': /* ansi PgUp */
- X case 'V': /* at386 PgUp */
- X+ case 'v': /* emacs style */
- X goto page_up;
- X
- X case 'H': /* at386 Home */
- X***************
- X*** 143,149 ****
- X case 'G': /* 'less' compatible */
- X end_of_article:
- X if (show_last_page ()) {
- X! show_note_page(respnum, group);
- X }
- X break;
- X
- X--- 144,150 ----
- X case 'G': /* 'less' compatible */
- X end_of_article:
- X if (show_last_page ()) {
- X! show_note_page (respnum, group);
- X }
- X break;
- X
- X***************
- X*** 186,193 ****
- X }
- X break;
- X
- X! case ctrl('D'):
- X! case ' ': /* next page or response */
- X page_down:
- X if (note_page == NOTE_UNAVAIL) {
- X n = next_response (respnum);
- X--- 187,195 ----
- X }
- X break;
- X
- X! case ' ': /* next page or response */
- X! case ctrl('D'): /* vi style */
- X! case ctrl('V'): /* emacs style */
- X page_down:
- X if (note_page == NOTE_UNAVAIL) {
- X n = next_response (respnum);
- X***************
- X*** 603,618 ****
- X int respnum;
- X char *group;
- X {
- X! char buf[LEN+1];
- X char buf2[LEN+50];
- X char *p, *q;
- X int i, j;
- X int ctrl_L; /* form feed character detected */
- X
- X- ClearScreen();
- X-
- X note_line = 1;
- X
- X if (note_page == 0)
- X show_first_header (respnum, group);
- X else
- X--- 605,627 ----
- X int respnum;
- X char *group;
- X {
- X! char buf[LEN];
- X char buf2[LEN+50];
- X char *p, *q;
- X int i, j;
- X int ctrl_L; /* form feed character detected */
- X+ long tmp_pos;
- X+ ClearScreen ();
- X
- X note_line = 1;
- X
- X+ if (note_size == 0L) {
- X+ tmp_pos = ftell (note_fp);
- X+ fseek (note_fp, 0L, 2); /* goto end of article */
- X+ note_size = ftell (note_fp);
- X+ fseek (note_fp, tmp_pos, 0); /* goto old position */
- X+ }
- X+
- X if (note_page == 0)
- X show_first_header (respnum, group);
- X else
- X***************
- X*** 684,691 ****
- X }
- X }
- X
- X! note_mark[++note_page] = ftell(note_fp);
- X
- X if (note_end) {
- X MoveCursor (LINES, MORE_POS-(5+BLANK_PAGE_COLS));
- X StartInverse ();
- X--- 693,704 ----
- X }
- X }
- X
- X! note_mark[++note_page] = ftell (note_fp);
- X
- X+ if (note_mark[note_page] == note_size) {
- X+ note_end = TRUE;
- X+ }
- X+
- X if (note_end) {
- X MoveCursor (LINES, MORE_POS-(5+BLANK_PAGE_COLS));
- X StartInverse ();
- X***************
- X*** 699,705 ****
- X EndInverse ();
- X } else {
- X if (note_size > 0) {
- X! draw_percent_mark ((int) note_mark[note_page], note_size);
- X } else {
- X MoveCursor (LINES, MORE_POS-BLANK_PAGE_COLS);
- X StartInverse ();
- X--- 712,718 ----
- X EndInverse ();
- X } else {
- X if (note_size > 0) {
- X! draw_percent_mark ((int) note_mark[note_page], (int) note_size);
- X } else {
- X MoveCursor (LINES, MORE_POS-BLANK_PAGE_COLS);
- X StartInverse ();
- X***************
- X*** 718,725 ****
- X {
- X int whichresp;
- X int x_resp;
- X! char buf[LEN+1];
- X! char tmp[LEN+1];
- X int pos, i;
- X int n;
- X
- X--- 731,738 ----
- X {
- X int whichresp;
- X int x_resp;
- X! char buf[LEN];
- X! char tmp[LEN];
- X int pos, i;
- X int n;
- X
- X***************
- X*** 803,809 ****
- X {
- X int whichresp;
- X int whichbase;
- X! char buf[LEN+1];
- X
- X whichresp = which_resp (respnum);
- X whichbase = which_base (respnum);
- X--- 816,822 ----
- X {
- X int whichresp;
- X int whichbase;
- X! char buf[LEN];
- X
- X whichresp = which_resp (respnum);
- X whichbase = which_base (respnum);
- X***************
- X*** 824,830 ****
- X note_page + 1,
- X note_h_subj);
- X
- X! buf[COLS] = '\0';
- X printf("%s\r\n\r\n", buf);
- X
- X note_line += 2;
- X--- 837,843 ----
- X note_page + 1,
- X note_h_subj);
- X
- X! buf[COLS-1] = '\0';
- X printf("%s\r\n\r\n", buf);
- X
- X note_line += 2;
- X***************
- X*** 939,945 ****
- X {
- X int j;
- X
- X! j = base[i];
- X
- X while (n-- && arts[j].thread >= 0) {
- X j = arts[j].thread;
- X--- 952,958 ----
- X {
- X int j;
- X
- X! j = (int) base[i];
- X
- X while (n-- && arts[j].thread >= 0) {
- X j = arts[j].thread;
- X***************
- X*** 1027,1033 ****
- X if (i >= top_base)
- X return -1;
- X
- X! return base[i];
- X }
- X
- X
- X--- 1040,1046 ----
- X if (i >= top_base)
- X return -1;
- X
- X! return (int) base[i];
- X }
- X
- X
- X***************
- X*** 1045,1051 ****
- X if (i >= top_base)
- X return -1;
- X
- X! return base[i];
- X }
- X
- X
- X--- 1058,1064 ----
- X if (i >= top_base)
- X return -1;
- X
- X! return (int) base[i];
- X }
- X
- X
- X***************
- X*** 1083,1098 ****
- X
- X int show_last_page ()
- X {
- X! char buf[LEN+1];
- X char buf2[LEN+50];
- X char *p, *q;
- X int ctrl_L; /* form feed character detected */
- X int i, j;
- X
- X if (note_end) {
- X return FALSE;
- X }
- X
- X while (! note_end) {
- X note_line = 1;
- X ctrl_L = FALSE;
- X--- 1096,1119 ----
- X
- X int show_last_page ()
- X {
- X! char buf[LEN];
- X char buf2[LEN+50];
- X char *p, *q;
- X int ctrl_L; /* form feed character detected */
- X int i, j;
- X+ long tmp_pos;
- X
- X if (note_end) {
- X return FALSE;
- X }
- X
- X+ if (note_size == 0L) {
- X+ tmp_pos = ftell (note_fp);
- X+ fseek (note_fp, 0L, 2); /* goto end of article */
- X+ note_size = ftell (note_fp);
- X+ fseek (note_fp, tmp_pos, 0); /* goto old position */
- X+ }
- X+
- X while (! note_end) {
- X note_line = 1;
- X ctrl_L = FALSE;
- X***************
- X*** 1103,1109 ****
- X note_line += 2;
- X }
- X while (note_line < LINES) {
- X! if (fgets(buf, sizeof buf, note_fp) == NULL) {
- X note_end = TRUE;
- X break;
- X }
- X--- 1124,1130 ----
- X note_line += 2;
- X }
- X while (note_line < LINES) {
- X! if (fgets (buf, sizeof buf, note_fp) == NULL) {
- X note_end = TRUE;
- X break;
- X }
- X***************
- X*** 1136,1142 ****
- X break;
- X }
- X }
- X! if (! note_end) {
- X note_mark[++note_page] = ftell(note_fp);
- X }
- X }
- X--- 1157,1167 ----
- X break;
- X }
- X }
- X! if (note_mark[note_page] == note_size) {
- X! note_end = TRUE;
- X! note_page--;
- X! break;
- X! } else if (! note_end) {
- X note_mark[++note_page] = ftell(note_fp);
- X }
- X }
- Xdiff -rcs 102/patchlevel.h 103/patchlevel.h
- X*** 102/patchlevel.h Mon Sep 23 17:55:40 1991
- X--- 103/patchlevel.h Mon Sep 30 07:58:07 1991
- X***************
- X*** 1 ****
- X! #define PATCHLEVEL 2
- X--- 1 ----
- X! #define PATCHLEVEL 3
- Xdiff -rcs 102/post.c 103/post.c
- X*** 102/post.c Mon Sep 23 17:55:40 1991
- X--- 103/post.c Mon Sep 30 18:19:01 1991
- X***************
- X*** 3,9 ****
- X * Module : post.c
- X * Author : I.Lea
- X * Created : 01-04-91
- X! * Updated : 22-09-91
- X * Release : 1.0
- X * Notes : mailing/posting/replying/followup & cancel article routines
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X--- 3,9 ----
- X * Module : post.c
- X * Author : I.Lea
- X * Created : 01-04-91
- X! * Updated : 30-09-91
- X * Release : 1.0
- X * Notes : mailing/posting/replying/followup & cancel article routines
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 15,26 ****
- X
- X #include "tin.h"
- X
- X! extern char note_h_distrib[LEN+1]; /* Distribution: */
- X! extern char note_h_followup[LEN+1]; /* Followup-To: */
- X! extern char note_h_from[LEN+1]; /* From: */
- X! extern char note_h_messageid[LEN+1]; /* Message-ID: */
- X! extern char note_h_newsgroups[LEN+1]; /* Newsgroups: */
- X! extern char note_h_subj[LEN+1]; /* Subject: */
- X
- X extern char note_from_addr[100];
- X extern char note_full_name[100];
- X--- 15,26 ----
- X
- X #include "tin.h"
- X
- X! extern char note_h_distrib[LEN]; /* Distribution: */
- X! extern char note_h_followup[LEN]; /* Followup-To: */
- X! extern char note_h_from[LEN]; /* From: */
- X! extern char note_h_messageid[LEN]; /* Message-ID: */
- X! extern char note_h_newsgroups[LEN]; /* Newsgroups: */
- X! extern char note_h_subj[LEN]; /* Subject: */
- X
- X extern char note_from_addr[100];
- X extern char note_full_name[100];
- X***************
- X*** 55,61 ****
- X return FALSE;
- X }
- X rewind (fp);
- X! posted = (struct posted_t *) my_malloc ((no_of_lines+1) * sizeof (struct posted_t));
- X for (i=0 ; fgets (buf, sizeof (buf), fp) != NULL ; i++) {
- X for (j=0 ; buf[j] != '|' && buf[j] != '\n' ; j++) {
- X posted[i].date[j] = buf[j]; /* posted date */
- X--- 55,61 ----
- X return FALSE;
- X }
- X rewind (fp);
- X! posted = (struct posted_t *) my_malloc ((unsigned) (no_of_lines+1) * sizeof (struct posted_t));
- X for (i=0 ; fgets (buf, sizeof (buf), fp) != NULL ; i++) {
- X for (j=0 ; buf[j] != '|' && buf[j] != '\n' ; j++) {
- X posted[i].date[j] = buf[j]; /* posted date */
- X***************
- X*** 90,96 ****
- X fclose (fp);
- X set_tin_uid_gid ();
- X
- X! show_info_page (POST_INFO, (char *) 0, txt_post_history_menu);
- X return TRUE;
- X }
- X }
- X--- 90,100 ----
- X fclose (fp);
- X set_tin_uid_gid ();
- X
- X! show_info_page (POST_INFO, (char **) 0, txt_post_history_menu);
- X! if (posted != (struct posted_t *) 0) {
- X! free (posted);
- X! posted = (struct posted_t *) 0;
- X! }
- X return TRUE;
- X }
- X }
- X***************
- X*** 100,107 ****
- X char *group;
- X char *subj;
- X {
- X! char buf[LEN+1];
- X! char tmp_post[LEN+1];
- X FILE *fp, *tmp_fp;
- X long epoch;
- X struct tm *tm;
- X--- 104,111 ----
- X char *group;
- X char *subj;
- X {
- X! char buf[LEN];
- X! char tmp_post[LEN];
- X FILE *fp, *tmp_fp;
- X long epoch;
- X struct tm *tm;
- X***************
- X*** 141,148 ****
- X FILE *fp;
- X char ch;
- X char ch_default = 'p';
- X! char subj[LEN+1];
- X! char buf[LEN+1];
- X int redraw_screen = FALSE;
- X
- X start_line_offset = 4;
- X--- 145,152 ----
- X FILE *fp;
- X char ch;
- X char ch_default = 'p';
- X! char subj[LEN];
- X! char buf[LEN];
- X int redraw_screen = FALSE;
- X
- X start_line_offset = 4;
- X***************
- X*** 240,250 ****
- X FILE *fp;
- X char ch, *ptr;
- X char ch_default = 'p';
- X! char buf[LEN+1];
- X int redraw_screen = FALSE;
- X
- X start_line_offset = 4;
- X
- X if (*note_h_followup && strcmp (note_h_followup, "poster") == 0) {
- X clear_message ();
- X if (! prompt_yn (LINES, txt_resp_to_poster, 'y')) {
- X--- 244,256 ----
- X FILE *fp;
- X char ch, *ptr;
- X char ch_default = 'p';
- X! char buf[LEN];
- X int redraw_screen = FALSE;
- X
- X start_line_offset = 4;
- X
- X+ wait_message ("Post a followup...");
- X+
- X if (*note_h_followup && strcmp (note_h_followup, "poster") == 0) {
- X clear_message ();
- X if (! prompt_yn (LINES, txt_resp_to_poster, 'y')) {
- X***************
- X*** 379,386 ****
- X {
- X char nam[100];
- X char ch, ch_default = 's';
- X! char buf[LEN+1];
- X! char mail_to[LEN+1];
- X FILE *fp;
- X int redraw_screen = FALSE;
- X
- X--- 385,392 ----
- X {
- X char nam[100];
- X char ch, ch_default = 's';
- X! char buf[LEN];
- X! char mail_to[LEN];
- X FILE *fp;
- X int redraw_screen = FALSE;
- X
- X***************
- X*** 477,487 ****
- X FILE *fp;
- X char ch;
- X char ch_default = 's';
- X! char buf[LEN+1];
- X! char mail_to[LEN+1];
- X
- X start_line_offset = 5;
- X
- X set_real_uid_gid ();
- X
- X sprintf (nam, "%s/.bugreport", homedir);
- X--- 483,495 ----
- X FILE *fp;
- X char ch;
- X char ch_default = 's';
- X! char buf[LEN];
- X! char mail_to[LEN];
- X
- X start_line_offset = 5;
- X
- X+ wait_message ("Mail bug report...");
- X+
- X set_real_uid_gid ();
- X
- X sprintf (nam, "%s/.bugreport", homedir);
- X***************
- X*** 559,567 ****
- X int mail_to_author (copy_text)
- X int copy_text;
- X {
- X! char buf[LEN+1];
- X char nam[100];
- X! char mail_to[LEN+1];
- X char ch, ch_default = 's';
- X FILE *fp;
- X int redraw_screen = FALSE;
- X--- 567,575 ----
- X int mail_to_author (copy_text)
- X int copy_text;
- X {
- X! char buf[LEN];
- X char nam[100];
- X! char mail_to[LEN];
- X char ch, ch_default = 's';
- X FILE *fp;
- X int redraw_screen = FALSE;
- X***************
- X*** 568,573 ****
- X--- 576,583 ----
- X
- X start_line_offset = 4;
- X
- X+ wait_message ("Reply to author...");
- X+
- X set_real_uid_gid ();
- X
- X sprintf (nam, "%s/.letter", homedir);
- X***************
- X*** 655,663 ****
- X char *mail_to;
- X {
- X FILE *fp;
- X! char buf[LEN+1];
- X! char buf2[LEN+1];
- X! char new_mail_to[LEN+1];
- X char *p;
- X
- X *new_mail_to = '\0';
- X--- 665,673 ----
- X char *mail_to;
- X {
- X FILE *fp;
- X! char buf[LEN];
- X! char buf2[LEN];
- X! char new_mail_to[LEN];
- X char *p;
- X
- X *new_mail_to = '\0';
- XFiles 102/prompt.c and 103/prompt.c are identical
- Xdiff -rcs 102/proto.h 103/proto.h
- X*** 102/proto.h Tue Sep 24 08:17:42 1991
- X--- 103/proto.h Mon Sep 30 07:58:07 1991
- X***************
- X*** 17,23 ****
- X int load_index(void);
- X void find_local_index(char *group);
- X void do_update(void);
- X! void save_any_news(void);
- X void reload_index_file(char *group, int killed);
- X char *parse_date(char *date, char *str);
- X int artnum_comp(char *p1, char *p2);
- X--- 17,23 ----
- X int load_index(void);
- X void find_local_index(char *group);
- X void do_update(void);
- X! int check_start_save_any_news(int check_start_save);
- X void reload_index_file(char *group, int killed);
- X char *parse_date(char *date, char *str);
- X int artnum_comp(char *p1, char *p2);
- X***************
- X*** 102,107 ****
- X--- 102,108 ----
- X void shell_escape(void);
- X void tin_done(int ret);
- X int read_active(void);
- X+ void mark_unthreaded_groups(void);
- X int backup_active(int create);
- X void add_signature(FILE *fp, int flag);
- X long hash_groupname(char *buf);
- X***************
- X*** 220,226 ****
- X char *str_str(char *text, char *pattern);
- X void make_lower(char *s, char *t);
- X /* select.c */
- X! void selection_index(void);
- X void group_selection_page(void);
- X int prompt_group_num(int ch);
- X void erase_group_arrow(void);
- X--- 221,227 ----
- X char *str_str(char *text, char *pattern);
- X void make_lower(char *s, char *t);
- X /* select.c */
- X! void selection_index(int start_groupnum);
- X void group_selection_page(void);
- X int prompt_group_num(int ch);
- X void erase_group_arrow(void);
- X***************
- X*** 269,275 ****
- X int load_index(/*void*/);
- X void find_local_index(/*char *group*/);
- X void do_update(/*void*/);
- X! void save_any_news(/*void*/);
- X void reload_index_file(/*char *group, int killed*/);
- X char *parse_date(/*char *date, char *str*/);
- X int artnum_comp(/*char *p1, char *p2*/);
- X--- 270,276 ----
- X int load_index(/*void*/);
- X void find_local_index(/*char *group*/);
- X void do_update(/*void*/);
- X! int check_start_save_any_news(/*int check_start_save*/);
- X void reload_index_file(/*char *group, int killed*/);
- X char *parse_date(/*char *date, char *str*/);
- X int artnum_comp(/*char *p1, char *p2*/);
- X***************
- X*** 354,359 ****
- X--- 355,361 ----
- X void shell_escape(/*void*/);
- X void tin_done(/*int ret*/);
- X int read_active(/*void*/);
- X+ void mark_unthreaded_groups(/*void*/);
- X int backup_active(/*int create*/);
- X void add_signature(/*FILE *fp, int flag*/);
- X long hash_groupname(/*char *buf*/);
- X***************
- X*** 472,478 ****
- X char *str_str(/*char *text, char *pattern*/);
- X void make_lower(/*char *s, char *t*/);
- X /* select.c */
- X! void selection_index(/*void*/);
- X void group_selection_page(/*void*/);
- X int prompt_group_num(/*int ch*/);
- X void erase_group_arrow(/*void*/);
- X--- 474,480 ----
- X char *str_str(/*char *text, char *pattern*/);
- X void make_lower(/*char *s, char *t*/);
- X /* select.c */
- X! void selection_index(/*int start_groupnum*/);
- X void group_selection_page(/*void*/);
- X int prompt_group_num(/*int ch*/);
- X void erase_group_arrow(/*void*/);
- Xdiff -rcs 102/rcfile.c 103/rcfile.c
- X*** 102/rcfile.c Mon Sep 23 17:55:40 1991
- X--- 103/rcfile.c Mon Sep 30 12:39:57 1991
- X***************
- X*** 3,9 ****
- X * Module : rcfile.c
- X * Author : I.Lea
- X * Created : 01-04-91
- X! * Updated : 16-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Iain Lea
- X--- 3,9 ----
- X * Module : rcfile.c
- X * Author : I.Lea
- X * Created : 01-04-91
- X! * Updated : 29-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Iain Lea
- X***************
- X*** 17,23 ****
- X
- X #define COL2 COLS/2
- X
- X! extern char index_file[LEN+1];
- X
- X /*
- X * read_rcfile - read defaults from ~/.tin/tinrc
- X--- 17,23 ----
- X
- X #define COL2 COLS/2
- X
- X! extern char index_file[LEN];
- X
- X /*
- X * read_rcfile - read defaults from ~/.tin/tinrc
- X***************
- X*** 25,31 ****
- X
- X int read_rcfile ()
- X {
- X! char buf[LEN+1];
- X FILE *fp;
- X
- X if ((fp = fopen (rcfile, "r")) != NULL) {
- X--- 25,31 ----
- X
- X int read_rcfile ()
- X {
- X! char buf[LEN];
- X FILE *fp;
- X
- X if ((fp = fopen (rcfile, "r")) != NULL) {
- X***************
- X*** 50,55 ****
- X--- 50,57 ----
- X print_header = (strncmp (&buf[13], "ON", 2) == 0 ? TRUE : FALSE);
- X } else if (strncmp (buf, "pos_first_unread=", 17) == 0) {
- X pos_first_unread = (strncmp (&buf[17], "ON", 2) == 0 ? TRUE : FALSE);
- X+ } else if (strncmp (buf, "thread_articles=", 16) == 0) {
- X+ thread_arts = (strncmp (&buf[16], "ON", 2) == 0 ? TRUE : FALSE);
- X } else if (strncmp (buf, "post_process_type=", 18) == 0) {
- X post_proc_type = atoi (&buf[18]);
- X switch (post_proc_type) {
- X***************
- X*** 143,148 ****
- X--- 145,152 ----
- X fprintf (fp, "# type of post processing to perform after saving articles.\n");
- X fprintf (fp, "# 0) none 1) shar 2) uudecode 3) uud & list zoo 4) uud & extract zoo 5) patch.\n");
- X fprintf (fp, "post_process_type=%d\n\n", post_proc_type);
- X+ fprintf (fp, "# if ON and group not in ~/.tin/unthread articles will be threaded.\n");
- X+ fprintf (fp, "thread_articles=%s\n\n", (thread_arts ? "ON" : "OFF"));
- X fprintf (fp, "# sort articles by 0) nothing 1) Subject (descending) 2) Subject (ascending)\n");
- X fprintf (fp, "# 3) From (descend) 4) From (ascend) 5) Date (descend) 6) Date (ascend)\n");
- X fprintf (fp, "sort_article_type=%d\n\n", sort_art_type);
- X***************
- X*** 152,158 ****
- X fprintf (fp, "maildir=%s\n\n", maildir);
- X fprintf (fp, "# (-p) print program with parameters used to print articles/threads\n");
- X fprintf (fp, "printer=%s\n\n", printer);
- X! fprintf (fp, "# (-S) directory where news is spooled\n");
- X fprintf (fp, "spooldir=%s\n\n", spooldir);
- X
- X fprintf (fp, "# .signature file used for replies, followups\n");
- X--- 156,162 ----
- X fprintf (fp, "maildir=%s\n\n", maildir);
- X fprintf (fp, "# (-p) print program with parameters used to print articles/threads\n");
- X fprintf (fp, "printer=%s\n\n", printer);
- X! fprintf (fp, "# (-s) directory where news is spooled\n");
- X fprintf (fp, "spooldir=%s\n\n", spooldir);
- X
- X fprintf (fp, "# .signature file used for replies, followups\n");
- X***************
- X*** 556,562 ****
- X int col;
- X char *var;
- X {
- X! char buf[LEN+1];
- X char ch;
- X int len;
- X int i;
- X--- 560,566 ----
- X int col;
- X char *var;
- X {
- X! char buf[LEN];
- X char ch;
- X int len;
- X int i;
- X***************
- X*** 610,616 ****
- X int col;
- X char *str;
- X {
- X! char buf[LEN+1];
- X
- X if (str[0] == '~') {
- X if (strlen (str) == 1) {
- X--- 614,620 ----
- X int col;
- X char *str;
- X {
- X! char buf[LEN];
- X
- X if (str[0] == '~') {
- X if (strlen (str) == 1) {
- Xdiff -rcs 102/save.c 103/save.c
- X*** 102/save.c Mon Sep 23 17:55:40 1991
- X--- 103/save.c Mon Sep 30 12:40:22 1991
- X***************
- X*** 47,54 ****
- X };
- X
- X extern char *glob_group;
- X! extern char note_h_path[LEN+1]; /* Path: */
- X! extern char note_h_date[LEN+1]; /* Date: */
- X extern FILE *note_fp; /* the body of the current article */
- X extern int index_point;
- X extern int note_end;
- X--- 47,54 ----
- X };
- X
- X extern char *glob_group;
- X! extern char note_h_path[LEN]; /* Path: */
- X! extern char note_h_date[LEN]; /* Date: */
- X extern FILE *note_fp; /* the body of the current article */
- X extern int index_point;
- X extern int note_end;
- X***************
- X*** 62,69 ****
- X int mailbox;
- X char *filename;
- X {
- X! char file[LEN+1];
- X! char save_art_info[LEN+1];
- X FILE *fp;
- X int is_mailbox = FALSE;
- X int i = 0, ret_code = FALSE;
- X--- 62,69 ----
- X int mailbox;
- X char *filename;
- X {
- X! char file[LEN];
- X! char save_art_info[LEN];
- X FILE *fp;
- X int is_mailbox = FALSE;
- X int i = 0, ret_code = FALSE;
- X***************
- X*** 91,101 ****
- X set_tin_uid_gid ();
- X return (ret_code);
- X }
- X!
- X if (! filename) {
- X wait_message (txt_saving);
- X }
- X!
- X fprintf(fp, "From %s %s\n", note_h_path, note_h_date);
- X
- X if (fseek(note_fp, 0L, 0) == -1) {
- X--- 91,101 ----
- X set_tin_uid_gid ();
- X return (ret_code);
- X }
- X! /*
- X if (! filename) {
- X wait_message (txt_saving);
- X }
- X! */
- X fprintf(fp, "From %s %s\n", note_h_path, note_h_date);
- X
- X if (fseek(note_fp, 0L, 0) == -1) {
- X***************
- X*** 130,136 ****
- X int is_mailbox;
- X char *group_path;
- X {
- X! char save_thread_info[LEN+1];
- X char *first_savefile;
- X FILE *fp;
- X int count = 0;
- X--- 130,136 ----
- X int is_mailbox;
- X char *group_path;
- X {
- X! char save_thread_info[LEN];
- X char *first_savefile;
- X FILE *fp;
- X int count = 0;
- X***************
- X*** 199,207 ****
- X int is_mailbox;
- X char *group_path;
- X {
- X! char buf[LEN+1];
- X! char buf2[LEN+1];
- X! char mailbox[LEN+1];
- X int i, ret_code;
- X
- X for (i=0 ; i < save_num ; i++) {
- X--- 199,207 ----
- X int is_mailbox;
- X char *group_path;
- X {
- X! char buf[LEN];
- X! char buf2[LEN];
- X! char mailbox[LEN];
- X int i, ret_code;
- X
- X for (i=0 ; i < save_num ; i++) {
- X***************
- X*** 238,244 ****
- X int append_to_existing_file (i)
- X int i;
- X {
- X! char buf[LEN+1];
- X char *file;
- X struct stat st;
- X
- X--- 238,244 ----
- X int append_to_existing_file (i)
- X int i;
- X {
- X! char buf[LEN];
- X char *file;
- X struct stat st;
- X
- X***************
- X*** 333,339 ****
- X int create_sub_dir (i)
- X int i;
- X {
- X! char dir[LEN+1];
- X struct stat st;
- X
- X if (! save[i].is_mailbox && save[i].archive) {
- X--- 333,339 ----
- X int create_sub_dir (i)
- X int i;
- X {
- X! char dir[LEN];
- X struct stat st;
- X
- X if (! save[i].is_mailbox && save[i].archive) {
- X***************
- X*** 361,368 ****
- X int is_mailbox;
- X char *path;
- X {
- X! char dir[LEN+1];
- X! char file[LEN+1];
- X int i;
- X
- X dir[0] = '\0';
- X--- 361,368 ----
- X int is_mailbox;
- X char *path;
- X {
- X! char dir[LEN];
- X! char file[LEN];
- X int i;
- X
- X dir[0] = '\0';
- X***************
- X*** 630,639 ****
- X void post_process_uud (pp)
- X int pp;
- X {
- X! char s[LEN+1], t[LEN+1], u[LEN+1];
- X! char buf[LEN+1], *file;
- X! char file_out[LEN+1];
- X! char file_out_dir[LEN+1];
- X FILE *fp_in, *fp_out;
- X int i, state = INITIAL;
- X int file_size = 0;
- X--- 630,639 ----
- X void post_process_uud (pp)
- X int pp;
- X {
- X! char s[LEN], t[LEN], u[LEN];
- X! char buf[LEN], *file;
- X! char file_out[LEN];
- X! char file_out_dir[LEN];
- X FILE *fp_in, *fp_out;
- X int i, state = INITIAL;
- X int file_size = 0;
- X***************
- X*** 800,809 ****
- X
- X void post_process_sh ()
- X {
- X! char buf[LEN+1];
- X! char file_in[LEN+1];
- X! char file_out[LEN+1];
- X! char file_out_dir[LEN+1];
- X char *ptr1, *ptr2;
- X FILE *fp_in, *fp_out;
- X int found_header;
- X--- 800,809 ----
- X
- X void post_process_sh ()
- X {
- X! char buf[LEN];
- X! char file_in[LEN];
- X! char file_out[LEN];
- X! char file_out_dir[LEN];
- X char *ptr1, *ptr2;
- X FILE *fp_in, *fp_out;
- X int found_header;
- X***************
- X*** 877,883 ****
- X char *dir;
- X char *ext;
- X {
- X! char buf[LEN+1];
- X char *file = NULL;
- X FILE *fp;
- X
- X--- 877,883 ----
- X char *dir;
- X char *ext;
- X {
- X! char buf[LEN];
- X char *file = NULL;
- X FILE *fp;
- X
- Xdiff -rcs 102/screen.c 103/screen.c
- X*** 102/screen.c Mon Sep 23 17:55:40 1991
- X--- 103/screen.c Mon Sep 30 18:47:54 1991
- X***************
- X*** 17,49 ****
- X
- X extern int errno;
- X
- X! char msg[LEN+1];
- X struct screen_t *screen;
- X
- X
- X! void info_message (msg)
- X! char *msg;
- X {
- X! clear_message(); /* Clear any old messages hanging around */
- X! center_line(LINES, FALSE, msg); /* center the message at screen bottom */
- X MoveCursor(LINES, 0);
- X }
- X
- X
- X! void wait_message (msg)
- X! char *msg;
- X {
- X if (RawState ()) {
- X clear_message(); /* Clear any old messages hanging around */
- X }
- X! printf ("%s", msg);
- X fflush (stdout);
- X }
- X
- X
- X! void error_message (template, msg)
- X char *template;
- X! char *msg;
- X {
- X errno = 0;
- X
- X--- 17,49 ----
- X
- X extern int errno;
- X
- X! char msg[LEN];
- X struct screen_t *screen;
- X
- X
- X! void info_message (str)
- X! char *str;
- X {
- X! clear_message(); /* Clear any old messages hanging around */
- X! center_line(LINES, FALSE, str); /* center the message at screen bottom */
- X MoveCursor(LINES, 0);
- X }
- X
- X
- X! void wait_message (str)
- X! char *str;
- X {
- X if (RawState ()) {
- X clear_message(); /* Clear any old messages hanging around */
- X }
- X! printf ("%s", str);
- X fflush (stdout);
- X }
- X
- X
- X! void error_message (template, str)
- X char *template;
- X! char *str;
- X {
- X errno = 0;
- X
- X***************
- X*** 51,57 ****
- X clear_message (); /* Clear any old messages hanging around */
- X }
- X
- X! fprintf (stderr, template, msg);
- X fflush (stderr);
- X
- X if (update == FALSE && RawState ()) {
- X--- 51,57 ----
- X clear_message (); /* Clear any old messages hanging around */
- X }
- X
- X! fprintf (stderr, template, str);
- X fflush (stderr);
- X
- X if (update == FALSE && RawState ()) {
- Xdiff -rcs 102/search.c 103/search.c
- X*** 102/search.c Mon Sep 23 17:55:41 1991
- X--- 103/search.c Mon Sep 30 18:50:35 1991
- X***************
- X*** 31,40 ****
- X * last search patterns
- X */
- X
- X! char author_search_string[LEN+1];
- X! char group_search_string[LEN+1];
- X! char subject_search_string[LEN+1];
- X! char art_search_string[LEN+1];
- X
- X
- X /*
- X--- 31,40 ----
- X * last search patterns
- X */
- X
- X! char author_search_string[LEN];
- X! char group_search_string[LEN];
- X! char subject_search_string[LEN];
- X! char art_search_string[LEN];
- X
- X
- X /*
- X***************
- X*** 45,52 ****
- X int current_art;
- X int forward;
- X {
- X! char buf[LEN+1];
- X! char buf2[LEN+1];
- X int i;
- X
- X clear_message();
- X--- 45,52 ----
- X int current_art;
- X int forward;
- X {
- X! char buf[LEN];
- X! char buf2[LEN];
- X int i;
- X
- X clear_message();
- X***************
- X*** 108,115 ****
- X void search_group (forward)
- X int forward;
- X {
- X! char buf[LEN+1];
- X! char buf2[LEN+1];
- X int i;
- X
- X clear_message();
- X--- 108,115 ----
- X void search_group (forward)
- X int forward;
- X {
- X! char buf[LEN];
- X! char buf2[LEN];
- X int i;
- X
- X clear_message();
- X***************
- X*** 179,186 ****
- X int forward;
- X char *group;
- X {
- X! char buf[LEN+1];
- X! char buf2[LEN+1];
- X int i, j;
- X
- X if (index_point < 0) {
- X--- 179,186 ----
- X int forward;
- X char *group;
- X {
- X! char buf[LEN];
- X! char buf2[LEN];
- X int i, j;
- X
- X if (index_point < 0) {
- X***************
- X*** 228,234 ****
- X if (i < 0)
- X i = top_base - 1;
- X
- X! j = base[i];
- X make_lower(arts[j].subject, buf2);
- X if (str_str (buf2, buf) != 0) {
- X if (i >= first_subj_on_screen
- X--- 228,234 ----
- X if (i < 0)
- X i = top_base - 1;
- X
- X! j = (int) base[i];
- X make_lower(arts[j].subject, buf2);
- X if (str_str (buf2, buf) != 0) {
- X if (i >= first_subj_on_screen
- X***************
- X*** 255,264 ****
- X int search_article (forward)
- X int forward;
- X {
- X! char buf[LEN+1];
- X! char buf2[LEN+1];
- X! char string[LEN+1];
- X! char pattern[LEN+1];
- X char *p, *q;
- X int ctrl_L;
- X int i, j;
- X--- 255,264 ----
- X int search_article (forward)
- X int forward;
- X {
- X! char buf[LEN];
- X! char buf2[LEN];
- X! char string[LEN];
- X! char pattern[LEN];
- X char *p, *q;
- X int ctrl_L;
- X int i, j;
- Xdiff -rcs 102/select.c 103/select.c
- X*** 102/select.c Mon Sep 23 17:55:41 1991
- X--- 103/select.c Mon Sep 30 18:49:10 1991
- X***************
- X*** 3,9 ****
- X * Module : select.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 22-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X--- 3,9 ----
- X * Module : select.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 29-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 17,23 ****
- X
- X
- X extern int index_point;
- X! extern char cvers[LEN+1];
- X
- X int first_group_on_screen;
- X int last_group_on_screen;
- X--- 17,23 ----
- X
- X
- X extern int index_point;
- X! extern char cvers[LEN];
- X
- X int first_group_on_screen;
- X int last_group_on_screen;
- X***************
- X*** 26,38 ****
- X int space_mode;
- X
- X
- X! void selection_index()
- X {
- X char ch;
- X int i, n;
- X int subscribe_num;
- X! char buf[LEN+1];
- X
- X #ifndef USE_CLEARSCREEN
- X ClearScreen();
- X #endif
- X--- 26,43 ----
- X int space_mode;
- X
- X
- X! void selection_index (start_groupnum)
- X! int start_groupnum;
- X {
- X char ch;
- X int i, n;
- X int subscribe_num;
- X! char buf[LEN];
- X
- X+ cur_groupnum = start_groupnum;
- X+
- X+ mail_setup (); /* record mailbox size for "you have mail" */
- X+
- X #ifndef USE_CLEARSCREEN
- X ClearScreen();
- X #endif
- X***************
- X*** 87,128 ****
- X break;
- X
- X case 27: /* (ESC) common arrow keys */
- X! ch = ReadCh();
- X if (ch == '[' || ch == 'O')
- X ch = ReadCh();
- X switch (ch) {
- X! case 'A':
- X! case 'D':
- X! case 'i':
- X! goto select_up;
- X
- X! case 'B':
- X! case 'C':
- X! goto select_down;
- X
- X! case 'G': /* ansi PgDn */
- X! case 'U': /* at386 PgDn */
- X! goto select_page_down;
- X
- X! case 'I': /* ansi PgUp */
- X! case 'V': /* at386 PgUp */
- X! goto select_page_up;
- X
- X! case 'H': /* at386 Home */
- X! if (cur_groupnum != 0) {
- X! cur_groupnum = 0;
- X! group_selection_page ();
- X! }
- X! break;
- X
- X! case 'F': /* ansi End */
- X! case 'Y': /* at386 End */
- X! goto end_of_list;
- X }
- X break;
- X
- X! case ctrl('D'): /* page down */
- X! case ' ':
- X select_page_down:
- X erase_group_arrow ();
- X cur_groupnum += NOTESLINES / 2;
- X--- 92,135 ----
- X break;
- X
- X case 27: /* (ESC) common arrow keys */
- X! ch = ReadCh ();
- X if (ch == '[' || ch == 'O')
- X ch = ReadCh();
- X switch (ch) {
- X! case 'A':
- X! case 'D':
- X! case 'i':
- X! goto select_up;
- X
- X! case 'B':
- X! case 'C':
- X! goto select_down;
- X
- X! case 'G': /* ansi PgDn */
- X! case 'U': /* at386 PgDn */
- X! goto select_page_down;
- X
- X! case 'I': /* ansi PgUp */
- X! case 'V': /* at386 PgUp */
- X! case 'v': /* emacs style */
- X! goto select_page_up;
- X
- X! case 'H': /* at386 Home */
- X! if (cur_groupnum != 0) {
- X! cur_groupnum = 0;
- X! group_selection_page ();
- X! }
- X! break;
- X
- X! case 'F': /* ansi End */
- X! case 'Y': /* at386 End */
- X! goto end_of_list;
- X }
- X break;
- X
- X! case ' ': /* page down */
- X! case ctrl('D'): /* vi style */
- X! case ctrl('V'): /* emacs style */
- X select_page_down:
- X erase_group_arrow ();
- X cur_groupnum += NOTESLINES / 2;
- X***************
- X*** 646,652 ****
- X
- X int choose_new_group ()
- X {
- X! char buf[LEN+1];
- X char *p;
- X int ret;
- X
- X--- 653,659 ----
- X
- X int choose_new_group ()
- X {
- X! char buf[LEN];
- X char *p;
- X int ret;
- X
- X***************
- X*** 746,753 ****
- X char *group;
- X int default_num;
- X {
- X! char buf[LEN+1];
- X! char pos[LEN+1];
- X int pos_num = 0;
- X
- X sprintf (buf, txt_newsgroup_position, group);
- X--- 753,760 ----
- X char *group;
- X int default_num;
- X {
- X! char buf[LEN];
- X! char pos[LEN];
- X int pos_num = 0;
- X
- X sprintf (buf, txt_newsgroup_position, group);
- X***************
- X*** 848,883 ****
- X group_selection_page ();
- X }
- X }
- X-
- X- #ifdef TEST
- X- do {
- X- n = my_group[cur_groupnum];
- X- if (active[n].min <= active[n].max) {
- X- group_page (active[n].name);
- X- } else {
- X- if (cur_groupnum > n) { /* next group */
- X- n = my_group[cur_groupnum];
- X- while (active[n].min <= active[n].max) {
- X- cur_groupnum++;
- X- if (cur_groupnum >= local_top) {
- X- cur_groupnum = local_top - 1;
- X- index_point = -1;
- X- break;
- X- }
- X- n = my_group[cur_groupnum];
- X- }
- X- } else { /* previous group */
- X- n = my_group[cur_groupnum];
- X- while (active[n].min <= active[n].max) {
- X- cur_groupnum--;
- X- if (cur_groupnum < 0) {
- X- cur_groupnum = 0;
- X- index_point = -1;
- X- break;
- X- }
- X- n = my_group[cur_groupnum];
- X- }
- X- }
- X- }
- X- } while (index_point == -3);
- X- #endif
- X--- 855,857 ----
- Xdiff -rcs 102/signal.c 103/signal.c
- X*** 102/signal.c Mon Sep 23 17:55:41 1991
- X--- 103/signal.c Mon Sep 30 18:50:23 1991
- X***************
- X*** 3,9 ****
- X * Module : signal.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 10-09-91
- X * Release : 1.0
- X * Notes : signal handlers for different modes and window resizing
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X--- 3,9 ----
- X * Module : signal.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 29-09-91
- X * Release : 1.0
- X * Notes : signal handlers for different modes and window resizing
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 27,32 ****
- X--- 27,33 ----
- X #ifdef POSIX_JOB_CONTROL
- X struct sigaction art_act;
- X struct sigaction group_act;
- X+ struct sigaction kill_act;
- X struct sigaction main_act;
- X struct sigaction page_act;
- X struct sigaction rcfile_act;
- X***************
- X*** 37,43 ****
- X
- X void set_signal_handlers ()
- X {
- X- signal (SIGINT, signal_handler); /* ctrl-C */
- X signal (SIGQUIT, signal_handler); /* ctrl-\ */
- X signal (SIGILL, signal_handler);
- X signal (SIGBUS, signal_handler);
- X--- 38,43 ----
- X***************
- X*** 212,218 ****
- X {
- X
- X Raw (FALSE);
- X- putchar ('\n');
- X
- X #ifdef POSIX_JOB_CONTROL
- X sigsetmask(0);
- X--- 212,217 ----
- Xdiff -rcs 102/tin.1 103/tin.1
- X*** 102/tin.1 Tue Sep 24 08:54:12 1991
- X--- 103/tin.1 Mon Sep 30 14:53:29 1991
- X***************
- X*** 1,4 ****
- X! .TH TIN 1 "Version 1.0 PL2"
- X .SH NAME
- X tin \- Visual threaded Usenet news reader
- X .SH SYNOPSIS
- X--- 1,4 ----
- X! .TH TIN 1 "Version 1.0 PL3"
- X .SH NAME
- X tin \- Visual threaded Usenet news reader
- X .SH SYNOPSIS
- X***************
- X*** 82,90 ****
- X in the foreground.
- X .TP
- X \fB-v\fP
- X! create/update index files for every group in \fI$HOME/.newsrc\fP or
- X! file specified by -f option. Each group name is printed to stdout as
- X! it is updated.
- X .PP
- X Tin can also dynamically change its options by the 'M' menu command.
- X Any changes are written to \fI$HOME/.tin/tinrc\fP.
- X--- 82,99 ----
- X in the foreground.
- X .TP
- X \fB-v\fP
- X! verbose mode for -c -u and -Z options.
- X! .TP
- X! \fB-z\fP
- X! only start tin if there is any new/unread news. If there is news tin
- X! will position cursor at first group with unread news. Useful for putting
- X! in login file.
- X! .TP
- X! \fB-Z\fP
- X! check if there is any new/unread news and exit with appropiate status.
- X! If -v option is specified the number of unread articles in each group
- X! is printed. An exit code 0 indicates no news, 1 that an error occurred
- X! and 2 that new/unread news exists. Useful for writing scripts.
- X .PP
- X Tin can also dynamically change its options by the 'M' menu command.
- X Any changes are written to \fI$HOME/.tin/tinrc\fP.
- X***************
- X*** 121,129 ****
- X Tin has three separate levels of operation: Selection Group level, Group level
- X and Article level.
- X .PP
- X! At the Selection Group level the newsgroups are displayed on the left
- X! of the screen with the number of unread articles displayed on the same
- X! line in the middle of the screen.
- X .RS
- X .nf
- X .in +.5i
- X--- 130,139 ----
- X Tin has three separate levels of operation: Selection Group level, Group level
- X and Article level.
- X .PP
- X! At the Selection Group level the title displays the number of subscribed
- X! groups. The newsgroups are displayed on the left of the screen with the
- X! number of unread articles displayed on the same line in the middle of
- X! the screen.
- X .RS
- X .nf
- X .in +.5i
- X***************
- X*** 138,148 ****
- X .fi
- X .RE
- X .PP
- X! At the Group level the following formats are possible:
- X .RS
- X .nf
- X .in +.5i
- X! .ta +\w'1 'u +\w'+ 'u +\w'This question has 'u +\w'1 'u
- X <Selection Num> <Unread> <Responses> <Subject> <Author>
- X .ti -.5i
- X i.e.,
- X--- 148,162 ----
- X .fi
- X .RE
- X .PP
- X! At the Group level the title contains the name of the group, the number
- X! of conversation threads and total number of articles i.e., alt.sources (7 23).
- X! If the group has been setup not to thread articles (i.e., alt.sources
- X! is in \fI$(HOME)/.tin/unthread\fP) the title will be alt.sources (U 23).
- X! There are two possible display formats as shown below:
- X .RS
- X .nf
- X .in +.5i
- X! .ta +\w'1 'u +\w'+ +\w'This question has 'u +\w'1
- X <Selection Num> <Unread> <Responses> <Subject> <Author>
- X .ti -.5i
- X i.e.,
- X***************
- X*** 728,734 ****
- X NAME Iain Lea
- X EMAIL iain@estevax.uucp ...!unido!estevax!iain
- X SNAIL Siemens AG, ANL 433SZ, 8510 Fuerth-Bislohe, Germany
- X! PHONE +49-911-331963 (home) +49-911-895-3853 (work)
- X .fi
- X .RE
- X .SH "ENVIROMENT VARIABLES"
- X--- 742,748 ----
- X NAME Iain Lea
- X EMAIL iain@estevax.uucp ...!unido!estevax!iain
- X SNAIL Siemens AG, ANL 433SZ, 8510 Fuerth-Bislohe, Germany
- X! PHONE +49-911-331963 (home) +49-911-3089-407 (work)
- X .fi
- X .RE
- X .SH "ENVIROMENT VARIABLES"
- X***************
- X*** 801,813 ****
- X \fI$HOME/.newsrc\fP newgroups subscribed to.
- X \fI$HOME/.tin/tinrc\fP options.
- X \fI$HOME/.tin/.index\fP newsgroup index files directory.
- X! \fI$HOME/.tin/kill\fP kill file.
- X! \fI$HOME/.tin/posted\fP history of articles posted by user.
- X \fI$HOME/.tin/active\fP used by -n option for notifying user of new groups.
- X \fI$HOME/.tin/organization\fP string to replace default organization.
- X \fI$HOME/.tin/reply_to\fP host address to use in Reply-To: mail header.
- X! \fI$HOME/.tin/add_address\fP address to add to when replying through mail.
- X! \fI$HOME/.tin/bug_address\fP address to send bug reports to.
- X \fI$HOME/.signature\fP signature.
- X \fI$HOME/.Sig\fP signature.
- X .fi
- X--- 815,828 ----
- X \fI$HOME/.newsrc\fP newgroups subscribed to.
- X \fI$HOME/.tin/tinrc\fP options.
- X \fI$HOME/.tin/.index\fP newsgroup index files directory.
- X! \fI$HOME/.tin/add_address\fP address to add to when replying through mail.
- X \fI$HOME/.tin/active\fP used by -n option for notifying user of new groups.
- X+ \fI$HOME/.tin/bug_address\fP address to send bug reports to.
- X+ \fI$HOME/.tin/kill\fP kill file.
- X \fI$HOME/.tin/organization\fP string to replace default organization.
- X+ \fI$HOME/.tin/posted\fP history of articles posted by user.
- X \fI$HOME/.tin/reply_to\fP host address to use in Reply-To: mail header.
- X! \fI$HOME/.tin/unthread\fP contains groups that are not to be threaded.
- X \fI$HOME/.signature\fP signature.
- X \fI$HOME/.Sig\fP signature.
- X .fi
- X***************
- X*** 846,851 ****
- X--- 861,878 ----
- X .TP
- X Chris Smith
- X author of multi-part uudecode routine.
- X+ .PP
- X+ I wish to thank the following people for bug reports/patchs and comments:
- X+
- X+ Klaus Arzig, Anton Aylward, Reiner Balling, Volker Beyer, Roger Binns,
- X+ Georg Biehler, Andreas Brosig, Peter Dressler, Gerhard Ermer, Hugh Fader,
- X+ Joachim Feld, Bernhard Gmelch, Viet Hoang, Torsten Homeyer, Andy Jackson,
- X+ Joe Johnson, Cyrill Jung, Karl-Koenig Koenigsson, Hans-Juergen Knopp,
- X+ Hakan Lennestal, Bob Lukas, Clifford Luke, Phillip Molloy, Toni Metz,
- X+ Greg Miller, Klaus Neuberger, Otto Niesser, Wolf Paul, Nickolay Saukh,
- X+ Rich Salz, Fredy Schwatz, Bernd Schwerin, Klamer Schutte, Karl-Olav
- X+ Serrander, Chris Smith, Steve Spearman, Cliff Stanford, Adri Verhoef,
- X+ Cary Whitney
- X .SH AUTHOR
- X .TP
- X Iain Lea
- Xdiff -rcs 102/tin.h 103/tin.h
- X*** 102/tin.h Tue Sep 24 14:02:10 1991
- X--- 103/tin.h Mon Sep 30 12:42:08 1991
- X***************
- X*** 3,9 ****
- X * Module : tin.h
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 24-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X--- 3,9 ----
- X * Module : tin.h
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 29-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 61,66 ****
- X--- 61,67 ----
- X #define INDEXDIR ".index"
- X #define KILLFILE "kill"
- X #define POSTFILE "posted"
- X+ #define UNTHREADFILE "unthread"
- X
- X #define DEFAULT_SHELL "/bin/sh"
- X #define DEFAULT_MAILDIR "Mail"
- X***************
- X*** 109,114 ****
- X--- 110,118 ----
- X #endif
- X
- X #define DEFAULT_COMMENT ": " /* used when by follow-ups & replys */
- X+ #ifndef UNREAD_ART_MARK
- X+ #define UNREAD_ART_MARK '+' /* used to show that an art is unread */
- X+ #endif
- X
- X /*
- X * used by feed.c - feed_articles()
- X***************
- X*** 146,154 ****
- X #define SORT_BY_DATE_DESCEND 5
- X #define SORT_BY_DATE_ASCEND 6
- X
- X! #define HELP_INFO 0
- X! #define POST_INFO 1
- X
- X extern int sort_art_type;
- X
- X extern int NOTESLINES;
- X--- 150,162 ----
- X #define SORT_BY_DATE_DESCEND 5
- X #define SORT_BY_DATE_ASCEND 6
- X
- X! #define HELP_INFO 0
- X! #define POST_INFO 1
- X
- X+ #define CHECK_ANY_NEWS 0
- X+ #define START_ANY_NEWS 1
- X+ #define SAVE_ANY_NEWS 2
- X+
- X extern int sort_art_type;
- X
- X extern int NOTESLINES;
- X***************
- X*** 242,247 ****
- X--- 250,257 ----
- X long min;
- X int next; /* next active entry in hash chain */
- X int flag;
- X+ int read; /* marked TRUE if group was entered during session */
- X+ int thread; /* marked FALSE if group is not to be threaded */
- X };
- X
- X #define NOTGOT 0x01 /* haven't put in my_group yet */
- X***************
- X*** 301,306 ****
- X--- 311,317 ----
- X
- X #ifdef POSIX_JOB_CONTROL
- X extern struct sigaction art_act;
- X+ extern struct sigaction kill_act;
- X extern struct sigaction group_act;
- X extern struct sigaction main_act;
- X extern struct sigaction page_act;
- X***************
- X*** 315,321 ****
- X extern int start_line_offset;
- X
- X extern int read_news_via_nntp;
- X! extern char nntp_server[LEN+1];
- X extern int top;
- X extern struct header *arts;
- X extern long *base;
- X--- 326,332 ----
- X extern int start_line_offset;
- X
- X extern int read_news_via_nntp;
- X! extern char nntp_server[LEN];
- X extern int top;
- X extern struct header *arts;
- X extern long *base;
- X***************
- X*** 335,384 ****
- X extern int num_of_tagged_files;
- X extern int compiled_with_nntp;
- X extern int save_news;
- X
- X! extern char rcdir[LEN+1];
- X! extern char rcfile[LEN+1];
- X! extern char indexdir[LEN+1];
- X! extern char killfile[LEN+1];
- SHAR_EOF
- echo "End of tin1.0 part 3"
- echo "File tin.patch03 is continued in part 4"
- echo "4" > shar3_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-