home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-10-19 | 48.7 KB | 2,019 lines |
- Newsgroups: comp.sources.misc
- From: iain@norisc.siemens.de (Iain J. Lea)
- Subject: v23i086: tin - threaded full screen newsreader, Patch05c/4
- Message-ID: <1991Oct20.032613.25168@sparky.imd.sterling.com>
- X-Md4-Signature: 6327a1217cad12c0539c783b403c11ad
- Date: Sun, 20 Oct 1991 03:26:13 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: iain@norisc.siemens.de (Iain J. Lea)
- Posting-number: Volume 23, Issue 86
- Archive-name: tin/patch05c
- Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
- Patch-To: tin: Volume 23, Issue 15-23
-
- #!/bin/sh
- # this is patch05.shar.03 (part 3 of tin)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file tin.patch05 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.patch05"
- sed 's/^X//' << 'SHAR_EOF' >> tin.patch05 &&
- X+ set_tin_uid_gid ();
- X break;
- X
- X case 't': /* return to group selection page */
- X! art_close ();
- X if (kill_state == KILLING) {
- X if (kill_articles) {
- X kill_any_articles (group);
- X***************
- X*** 558,563 ****
- X--- 580,591 ----
- X break;
- X
- X case 'w': /* post a basenote */
- X+ #ifdef USE_NNTP
- X+ if (! can_post) {
- X+ info_message (txt_cannot_post);
- X+ break;
- X+ }
- X+ #endif
- X if (post_base (group)) {
- X update_newsrc (group, my_group[cur_groupnum], FALSE);
- X index_group (group, group_path);
- X***************
- X*** 650,658 ****
- X
- X while (i++ < j)
- X *q++ = ' ';
- X! } else if (((*p) & 0x7F) < 32) {
- X *q++ = '^';
- X! *q++ = ((*p) & 0x7F) + '@';
- X } else if (*p >= 'A' && *p <= 'Z')
- X *q++ = 'A' + (*p - 'A' + rotate) % 26;
- X else if (*p >= 'a' && *p <= 'z')
- X--- 678,686 ----
- X
- X while (i++ < j)
- X *q++ = ' ';
- X! } else if (((*p) & 0xFF) < ' ') {
- X *q++ = '^';
- X! *q++ = ((*p) & 0xFF) + '@';
- X } else if (*p >= 'A' && *p <= 'Z')
- X *q++ = 'A' + (*p - 'A' + rotate) % 26;
- X else if (*p >= 'a' && *p <= 'z')
- X***************
- X*** 675,683 ****
- X
- X while (i++ < j)
- X *q++ = ' ';
- X! } else if (((*p) & 0x7F) < 32) {
- X *q++ = '^';
- X! *q++ = ((*p) & 0x7F) + '@';
- X } else
- X *q++ = *p;
- X }
- X--- 703,711 ----
- X
- X while (i++ < j)
- X *q++ = ' ';
- X! } else if (((*p) & 0xFF) < ' ') {
- X *q++ = '^';
- X! *q++ = ((*p) & 0xFF) + '@';
- X } else
- X *q++ = *p;
- X }
- X***************
- X*** 844,850 ****
- X }
- X
- X
- X! void open_note (art, group_path)
- X long art;
- X char *group_path;
- X {
- X--- 872,878 ----
- X }
- X
- X
- X! void art_open (art, group_path)
- X long art;
- X char *group_path;
- X {
- X***************
- X*** 872,878 ****
- X buf[1024] = '\0';
- X
- X for (p=buf ; *p && *p != '\n' ; p++) {
- X! if (((*p) & 0x7F) < 32)
- X *p = ' ';
- X }
- X *p = '\0';
- X--- 900,906 ----
- X buf[1024] = '\0';
- X
- X for (p=buf ; *p && *p != '\n' ; p++) {
- X! if (((*p) & 0xFF) < ' ')
- X *p = ' ';
- X }
- X *p = '\0';
- X***************
- X*** 880,913 ****
- X if (*buf == '\0')
- X break;
- X
- X! if (strncmp(buf, "From: ", 6) == 0) {
- X! strcpy(note_h_from, &buf[6]);
- X! note_h_from[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Path: ", 6) == 0) {
- X! strcpy(note_h_path, &buf[6]);
- X! note_h_path[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Subject: ", 9) == 0) {
- X! strcpy(note_h_subj, &buf[9]);
- X! note_h_subj[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Organization: ", 14) == 0) {
- X! strcpy(note_h_org, &buf[14]);
- X! note_h_org[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Date: ", 6) == 0) {
- X! strcpy(note_h_date, &buf[6]);
- X! note_h_date[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Newsgroups: ", 12) == 0) {
- X! strcpy(note_h_newsgroups, &buf[12]);
- X! note_h_newsgroups[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Message-ID: ", 12) == 0) {
- X! strcpy(note_h_messageid, &buf[12]);
- X! note_h_messageid[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Distribution: ", 14) == 0) {
- X! strcpy(note_h_distrib, &buf[14]);
- X! note_h_distrib[LEN-1] = '\0';
- X! } else if (strncmp(buf, "Followup-To: ", 13) == 0) {
- X! strcpy(note_h_followup, &buf[13]);
- X! note_h_followup[LEN-1] = '\0';
- X! }
- X }
- X
- X note_page = 0;
- X--- 908,933 ----
- X if (*buf == '\0')
- X break;
- X
- X! if (match_header (buf, "From", note_h_from, LEN))
- X! continue;
- X! if (match_header (buf, "Path", note_h_path, LEN))
- X! continue;
- X! if (match_header (buf, "Subject", note_h_subj, LEN))
- X! continue;
- X! if (match_header (buf, "Organization", note_h_org, LEN))
- X! continue;
- X! if (match_header (buf, "Date", note_h_date, LEN))
- X! continue;
- X! if (match_header (buf, "Newsgroups", note_h_newsgroups, LEN))
- X! continue;
- X! if (match_header (buf, "Message-ID", note_h_messageid, LEN))
- X! continue;
- X! if (match_header (buf, "Message-Id", note_h_messageid, LEN))
- X! continue;
- X! if (match_header (buf, "Distribution", note_h_distrib, LEN))
- X! continue;
- X! if (match_header (buf, "Followup-To", note_h_followup, LEN))
- X! continue;
- X }
- X
- X note_page = 0;
- X***************
- X*** 920,929 ****
- X }
- X
- X
- X! void note_cleanup()
- X {
- X if (note_page != NOTE_UNAVAIL)
- X! fclose(note_fp);
- X }
- X
- X
- X--- 940,949 ----
- X }
- X
- X
- X! void art_close ()
- X {
- X if (note_page != NOTE_UNAVAIL)
- X! fclose (note_fp);
- X }
- X
- X
- X***************
- X*** 975,981 ****
- X char *p;
- X
- X for (p=str ; *p ; p++) {
- X! if (((*p) & 0x7F) < 32)
- X *p = ' ';
- X }
- X
- X--- 995,1001 ----
- X char *p;
- X
- X for (p=str ; *p ; p++) {
- X! if (((*p) & 0xFF) < ' ')
- X *p = ' ';
- X }
- X
- X***************
- X*** 1069,1075 ****
- X char *p;
- X
- X for (p = orig; *p; p++)
- X! if (((*p) & 0x7F) < 32)
- X *p = ' ';
- X
- X while (*addr)
- X--- 1089,1095 ----
- X char *p;
- X
- X for (p = orig; *p; p++)
- X! if (((*p) & 0xFF) < ' ')
- X *p = ' ';
- X
- X while (*addr)
- X***************
- X*** 1143,1151 ****
- X while (i++ < j) {
- X *q++ = ' ';
- X }
- X! } else if (((*p) & 0x7F) < 32) {
- X *q++ = '^';
- X! *q++ = ((*p) & 0x7F) + '@';
- X } else {
- X *q++ = *p;
- X }
- X--- 1163,1171 ----
- X while (i++ < j) {
- X *q++ = ' ';
- X }
- X! } else if (((*p) & 0xFF) < ' ') {
- X *q++ = '^';
- X! *q++ = ((*p) & 0xFF) + '@';
- X } else {
- X *q++ = *p;
- X }
- X***************
- X*** 1167,1170 ****
- X--- 1187,1210 ----
- X }
- X fseek (note_fp, note_mark[note_page], 0);
- X return TRUE;
- X+ }
- X+
- X+
- X+ int match_header (buf, pat, body, len)
- X+ char *buf;
- X+ char *pat;
- X+ char *body;
- X+ int len;
- X+ {
- X+ int plen = strlen (pat);
- X+
- X+ if(strncmp (buf, pat, plen) == 0 && buf[plen] == ':' && buf[plen + 1] == ' ') {
- X+ plen += 2;
- X+ while (buf[plen] == ' ')
- X+ plen++;
- X+ strncpy (body, &buf[plen], len);
- X+ body[len - 1] = '\0';
- X+ return TRUE;
- X+ }
- X+ return FALSE;
- X }
- Xdiff -rcs ../104/patchlevel.h ./patchlevel.h
- X*** ../104/patchlevel.h Mon Sep 30 19:38:32 1991
- X--- ./patchlevel.h Wed Oct 2 20:21:38 1991
- X***************
- X*** 1 ****
- X! #define PATCHLEVEL 4
- X--- 1 ----
- X! #define PATCHLEVEL 5
- Xdiff -rcs ../104/post.c ./post.c
- X*** ../104/post.c Wed Oct 2 08:28:24 1991
- X--- ./post.c Wed Oct 16 20:32:39 1991
- X***************
- 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--- 3,9 ----
- X * Module : post.c
- X * Author : I.Lea
- X * Created : 01-04-91
- X! * Updated : 16-10-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*** 171,176 ****
- X--- 171,178 ----
- X }
- X }
- X
- X+ wait_message (txt_post_an_article);
- X+
- X set_real_uid_gid ();
- X
- X if ((fp = fopen (article, "w")) == NULL) {
- X***************
- X*** 213,225 ****
- X
- X case 'p':
- X wait_message (txt_posting);
- X! if (debug) {
- X! sprintf (buf, "%s/inews -h < %s", INEWSDIR, article);
- X! } else {
- X! sprintf (buf, "%s/inews -h < %s > /dev/null 2>&1",
- X! INEWSDIR, article);
- X! }
- X! if (invoke_cmd (buf)) {
- X unlink (article);
- X info_message (txt_art_posted);
- X goto post_base_done;
- X--- 215,221 ----
- X
- X case 'p':
- X wait_message (txt_posting);
- X! if (submit_file (article)) {
- X unlink (article);
- X info_message (txt_art_posted);
- X goto post_base_done;
- X***************
- X*** 261,267 ****
- 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--- 257,263 ----
- X
- X start_line_offset = 4;
- X
- X! wait_message (txt_post_a_followup);
- X
- X if (*note_h_followup && strcmp (note_h_followup, "poster") == 0) {
- X clear_message ();
- X***************
- X*** 352,364 ****
- X
- X case 'p':
- X wait_message (txt_posting);
- X! if (debug) {
- X! sprintf (buf, "%s/inews -h < %s", INEWSDIR, article);
- X! } else {
- X! sprintf (buf, "%s/inews -h < %s > /dev/null 2>&1",
- X! INEWSDIR, article);
- X! }
- X! if (invoke_cmd (buf)) {
- X unlink (article);
- X info_message (txt_art_posted);
- X goto post_response_done;
- X--- 348,354 ----
- X
- X case 'p':
- X wait_message (txt_posting);
- X! if (submit_file (article)) {
- X unlink (article);
- X info_message (txt_art_posted);
- X goto post_response_done;
- X***************
- X*** 502,508 ****
- X
- X start_line_offset = 5;
- X
- X! wait_message ("Mail bug report...");
- X
- X set_real_uid_gid ();
- X
- X--- 492,498 ----
- X
- X start_line_offset = 5;
- X
- X! wait_message (txt_mail_bug_report);
- X
- X set_real_uid_gid ();
- X
- X***************
- X*** 591,597 ****
- X
- X start_line_offset = 4;
- X
- X! wait_message ("Reply to author...");
- X
- X set_real_uid_gid ();
- X
- X--- 581,587 ----
- X
- X start_line_offset = 4;
- X
- X! wait_message (txt_reply_to_author);
- X
- X set_real_uid_gid ();
- X
- X***************
- X*** 693,699 ****
- X return;
- X }
- X
- X! while (fgets(buf, 1024, fp) != NULL) {
- X for (p = buf; *p && *p != '\n'; p++)
- X continue;
- X *p = '\0';
- X--- 683,689 ----
- X return;
- X }
- X
- X! while (fgets(buf, sizeof (buf), fp) != NULL) {
- X for (p = buf; *p && *p != '\n'; p++)
- X continue;
- X *p = '\0';
- X***************
- X*** 761,767 ****
- X
- X fprintf (fp, "Article cancelled from within tin\n");
- X
- X- add_signature (fp, TRUE);
- X fclose (fp);
- X
- X while (1) {
- X--- 751,756 ----
- X***************
- X*** 789,796 ****
- X
- X case 'c':
- X wait_message (txt_cancelling);
- X! sprintf (buf, "%s/inews -h < %s", INEWSDIR, cancel);
- X! if (invoke_cmd (buf)) {
- X info_message (txt_art_cancelled);
- X goto cancel_article_done;
- X } else {
- X--- 778,784 ----
- X
- X case 'c':
- X wait_message (txt_cancelling);
- X! if (submit_file (cancel)) {
- X info_message (txt_art_cancelled);
- X goto cancel_article_done;
- X } else {
- X***************
- X*** 805,808 ****
- X--- 793,819 ----
- X set_tin_uid_gid ();
- X
- X return (redraw_screen);
- X+ }
- X+
- X+ int
- X+ submit_file(name)
- X+ char* name;
- X+ {
- X+ char buf[LEN];
- X+ char* cp = buf;
- X+
- X+ #ifdef INEWSDIR
- X+ strcpy(buf, INEWSDIR);
- X+ strcat(buf, "/");
- X+ cp = &buf[strlen(buf)];
- X+ #endif
- X+
- X+ if (debug)
- X+ sprintf (cp, "inews -h < %s", name);
- X+ else
- X+ sprintf (cp, "inews -h < %s > /dev/null 2>&1", name);
- X+
- X+ if (invoke_cmd(buf))
- X+ return TRUE;
- X+ return FALSE;
- X }
- Xdiff -rcs ../104/prompt.c ./prompt.c
- X*** ../104/prompt.c Mon Sep 30 20:51:37 1991
- X--- ./prompt.c Tue Oct 8 19:35:19 1991
- X***************
- X*** 29,34 ****
- X--- 29,35 ----
- X int len;
- X int i;
- X int num;
- X+ int ic = ch & 0xFF;
- X
- X MoveCursor (LINES,0);
- X printf ("%s %c",prompt,ch);
- X***************
- X*** 36,48 ****
- X buf[0] = ch;
- X buf[1] = '\0';
- X len = 1;
- X! ch = ReadCh ();
- X! while (ch != '\n' && ch != '\r') {
- X! if (ch == ESC) { /* Esc pressed so return */
- X clear_message ();
- X return -1;
- X }
- X! if (ch == 8 || ch == 127) {
- X if (len) {
- X len--;
- X buf[len] = '\0';
- X--- 37,52 ----
- X buf[0] = ch;
- X buf[1] = '\0';
- X len = 1;
- X! ic = ReadCh ();
- X! if(ic == EOF)
- X! return (-1);
- X! ic &= 0xFF;
- X! while (ic != '\n' && ic != '\r') {
- X! if (ic == ESC) { /* Esc pressed so return */
- X clear_message ();
- X return -1;
- X }
- X! if (ic == '\b' || ic == 127) {
- X if (len) {
- X len--;
- X buf[len] = '\0';
- X***************
- X*** 54,61 ****
- X CleartoEOLN ();
- X return (-1);
- X }
- X! } else if (ch == 21) { /* control-U */
- X! for (i = len ; i>0 ; i--) {
- X putchar ('\b');
- X putchar (' ');
- X putchar ('\b');
- X--- 58,65 ----
- X CleartoEOLN ();
- X return (-1);
- X }
- X! } else if (ic == 21) { /* control-U */
- X! for (i = len; i > 0; i--) {
- X putchar ('\b');
- X putchar (' ');
- X putchar ('\b');
- X***************
- X*** 62,75 ****
- X }
- X buf[0] = '\0';
- X len = 0;
- X! } else if (ch >= '0' && ch <= '9' && len < 4) {
- X! buf[len++] = ch;
- X buf[len] = '\0';
- X! putchar (ch);
- X } else
- X putchar (7);
- X fflush (stdout);
- X! ch = ReadCh ();
- X }
- X
- X MoveCursor (LINES, 0);
- X--- 66,82 ----
- X }
- X buf[0] = '\0';
- X len = 0;
- X! } else if (ic >= '0' && ic <= '9' && len < 4) {
- X! buf[len++] = ic;
- X buf[len] = '\0';
- X! putchar (ic);
- X } else
- X putchar (7);
- X fflush (stdout);
- X! ic = ReadCh ();
- X! if(ic == EOF)
- X! return (-1);
- X! ic &= 0xFF;
- X }
- X
- X MoveCursor (LINES, 0);
- X***************
- X*** 79,88 ****
- X num = atoi (buf);
- X return (num);
- X } else
- X! return(-1);
- X }
- X
- X-
- X /*
- X * parse_string
- X * get a string from the user
- X--- 86,94 ----
- X num = atoi (buf);
- X return (num);
- X } else
- X! return (-1);
- X }
- X
- X /*
- X * parse_string
- X * get a string from the user
- X***************
- X*** 93,99 ****
- X char *prompt;
- X char *buf;
- X {
- X! char ch;
- X int i, len;
- X int max_len;
- X
- X--- 99,105 ----
- X char *prompt;
- X char *buf;
- X {
- X! int ch;
- X int i, len;
- X int max_len;
- X
- X***************
- X*** 106,118 ****
- X len = 0;
- X max_len = (COLS - strlen (prompt))-2;
- X ch = ReadCh ();
- X!
- X while (ch != '\n' && ch != '\r') {
- X if (ch == ESC) { /* Esc pressed so abort */
- X clear_message ();
- X return FALSE;
- X }
- X! if (ch == 8 || ch == 127) {
- X if (len) {
- X len--;
- X buf[len] = '\0';
- X--- 112,126 ----
- X len = 0;
- X max_len = (COLS - strlen (prompt))-2;
- X ch = ReadCh ();
- X! if(ch == EOF)
- X! return FALSE;
- X! ch &= 0xFF;
- X while (ch != '\n' && ch != '\r') {
- X if (ch == ESC) { /* Esc pressed so abort */
- X clear_message ();
- X return FALSE;
- X }
- X! if (ch == '\b' || ch == 127) {
- X if (len) {
- X len--;
- X buf[len] = '\0';
- X***************
- X*** 187,193 ****
- X CleartoEOLN();
- X }
- X } else if (ch == 21) { /* control-U */
- X! for (i = len;i>0;i--) {
- X putchar('\b');
- X putchar(' ');
- X putchar('\b');
- X--- 195,201 ----
- X CleartoEOLN();
- X }
- X } else if (ch == 21) { /* control-U */
- X! for (i = len; i > 0; i--) {
- X putchar('\b');
- X putchar(' ');
- X putchar('\b');
- X***************
- X*** 202,207 ****
- X--- 210,218 ----
- X putchar(7);
- X fflush(stdout);
- X ch = ReadCh();
- X+ if(ch == EOF)
- X+ return FALSE;
- X+ ch &= 0xFF;
- X }
- X
- X if (buf[0]) {
- Xdiff -rcs ../104/proto.h ./proto.h
- X*** ../104/proto.h Mon Sep 30 20:32:10 1991
- X--- ./proto.h Wed Oct 16 19:52:10 1991
- X***************
- X*** 28,33 ****
- X--- 28,34 ----
- X /* curses.c */
- X int InitScreen(void);
- X void ScreenSize(int *num_lines, int *num_columns);
- X+ void EndWin(void);
- X void ClearScreen(void);
- X void MoveCursor(int row, int col);
- X void CleartoEOLN(void);
- X***************
- X*** 153,160 ****
- X void show_note_page(int respnum, char *group);
- X void show_first_header(int respnum, char *group);
- X void show_cont_header(int respnum);
- X! void open_note(long art, char *group_path);
- X! void note_cleanup(void);
- X int prompt_response(int ch, int respnum);
- X int choose_resp(int i, int n);
- X void parse_from(char *str, char *addr, char *name);
- X--- 154,161 ----
- X void show_note_page(int respnum, char *group);
- X void show_first_header(int respnum, char *group);
- X void show_cont_header(int respnum);
- X! void art_open(long art, char *group_path);
- X! void art_close(void);
- X int prompt_response(int ch, int respnum);
- X int choose_resp(int i, int n);
- X void parse_from(char *str, char *addr, char *name);
- X***************
- X*** 163,168 ****
- X--- 164,170 ----
- X int next_basenote(int n);
- X void yank_to_addr(char *orig, char *addr);
- X int show_last_page(void);
- X+ int match_header(char *buf, char *pat, char *body, int len);
- X /* post.c */
- X int user_posted_messages(void);
- X void update_art_posted_file(char *group, char *subj);
- X***************
- X*** 173,178 ****
- X--- 175,181 ----
- X int mail_to_author(int copy_text);
- X void find_new_to(char *nam, char *mail_to);
- X int cancel_article(void);
- X+ int submit_file(char *name);
- X /* prompt.c */
- X int parse_num(int ch, char *prompt);
- X int parse_string(char *prompt, char *buf);
- X***************
- X*** 281,286 ****
- X--- 284,290 ----
- X /* curses.c */
- X int InitScreen(/*void*/);
- X void ScreenSize(/*int *num_lines, int *num_columns*/);
- X+ void EndWin(/*void*/);
- X void ClearScreen(/*void*/);
- X void MoveCursor(/*int row, int col*/);
- X void CleartoEOLN(/*void*/);
- X***************
- X*** 406,413 ****
- X void show_note_page(/*int respnum, char *group*/);
- X void show_first_header(/*int respnum, char *group*/);
- X void show_cont_header(/*int respnum*/);
- X! void open_note(/*long art, char *group_path*/);
- X! void note_cleanup(/*void*/);
- X int prompt_response(/*int ch, int respnum*/);
- X int choose_resp(/*int i, int n*/);
- X void parse_from(/*char *str, char *addr, char *name*/);
- X--- 410,417 ----
- X void show_note_page(/*int respnum, char *group*/);
- X void show_first_header(/*int respnum, char *group*/);
- X void show_cont_header(/*int respnum*/);
- X! void art_open(/*long art, char *group_path*/);
- X! void art_close(/*void*/);
- X int prompt_response(/*int ch, int respnum*/);
- X int choose_resp(/*int i, int n*/);
- X void parse_from(/*char *str, char *addr, char *name*/);
- X***************
- X*** 416,421 ****
- X--- 420,426 ----
- X int next_basenote(/*int n*/);
- X void yank_to_addr(/*char *orig, char *addr*/);
- X int show_last_page(/*void*/);
- X+ int match_header(/*char *buf, char *pat, char *body, int len*/);
- X /* post.c */
- X int user_posted_messages(/*void*/);
- X void update_art_posted_file(/*char *group, char *subj*/);
- X***************
- X*** 426,431 ****
- X--- 431,437 ----
- X int mail_to_author(/*int copy_text*/);
- X void find_new_to(/*char *nam, char *mail_to*/);
- X int cancel_article(/*void*/);
- X+ int submit_file(/*char *name*/);
- X /* prompt.c */
- X int parse_num(/*int ch, char *prompt*/);
- X int parse_string(/*char *prompt, char *buf*/);
- Xdiff -rcs ../104/rcfile.c ./rcfile.c
- X*** ../104/rcfile.c Mon Sep 30 20:24:53 1991
- X--- ./rcfile.c Tue Oct 8 10:46:42 1991
- X***************
- X*** 3,9 ****
- X * Module : rcfile.c
- X * Author : I.Lea
- X * Created : 01-04-91
- X! * Updated : 30-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 : 09-10-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Iain Lea
- X***************
- X*** 80,86 ****
- X strncpy (savedir, &buf[8], LEN);
- X savedir[strlen (savedir) - 1] = '\0';
- X if (savedir[0] == '.' && strlen (savedir) == 1) {
- X! #ifdef BSD
- X getwd (buf);
- X #else
- X getcwd (buf, LEN);
- X--- 80,86 ----
- X strncpy (savedir, &buf[8], LEN);
- X savedir[strlen (savedir) - 1] = '\0';
- X if (savedir[0] == '.' && strlen (savedir) == 1) {
- X! #if defined(BSD) && ! defined(SINIX)
- X getwd (buf);
- X #else
- X getcwd (buf, LEN);
- Xdiff -rcs ../104/save.c ./save.c
- X*** ../104/save.c Wed Oct 2 18:52:25 1991
- X--- ./save.c Thu Oct 10 20:48:47 1991
- X***************
- X*** 3,9 ****
- X * Module : save.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 02-10-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta, Iain Lea
- X--- 3,9 ----
- X * Module : save.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 10-10-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta, Iain Lea
- X***************
- X*** 67,72 ****
- X--- 67,73 ----
- X FILE *fp;
- X int is_mailbox = FALSE;
- X int i = 0, ret_code = FALSE;
- X+ long epoch;
- X
- X if (filename) {
- X my_strncpy (file, filename, LEN);
- X***************
- X*** 92,98 ****
- X return (ret_code);
- 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 error_message ("fseek() error on [%s]", arts[respnum].subject);
- X--- 93,100 ----
- X return (ret_code);
- X }
- X
- X! time (&epoch);
- X! fprintf(fp, "From %s %s", note_h_path, ctime (&epoch));
- X
- X if (fseek(note_fp, 0L, 0) == -1) {
- X error_message ("fseek() error on [%s]", arts[respnum].subject);
- X***************
- X*** 131,136 ****
- X--- 133,139 ----
- X FILE *fp;
- X int count = 0;
- X int i, ret_code = FALSE;
- X+ long epoch;
- X
- X set_real_uid_gid ();
- X
- X***************
- X*** 150,160 ****
- X return (ret_code);
- X }
- X
- X! open_note (arts[save[i].index].artnum, group_path);
- X! fprintf (fp, "From %s %s\n", note_h_path, note_h_date);
- X fseek (note_fp, 0L, 0);
- X copy_fp (note_fp, fp, "");
- X! note_cleanup ();
- X save[i].saved = TRUE;
- X
- X if (mark_saved_read) {
- X--- 153,164 ----
- X return (ret_code);
- X }
- X
- X! art_open (arts[save[i].index].artnum, group_path);
- X! time (&epoch);
- X! fprintf (fp, "From %s %s", note_h_path, ctime (&epoch));
- X fseek (note_fp, 0L, 0);
- X copy_fp (note_fp, fp, "");
- X! art_close ();
- X save[i].saved = TRUE;
- X
- X if (mark_saved_read) {
- X***************
- X*** 165,171 ****
- X }
- X set_tin_uid_gid ();
- X
- X! if (! (first_savefile = get_first_savefile ())) {
- X info_message (txt_thread_not_saved);
- X } else {
- X if (is_mailbox) {
- X--- 169,177 ----
- X }
- X set_tin_uid_gid ();
- X
- X! first_savefile = get_first_savefile ();
- X!
- X! if (first_savefile == (char *) 0) {
- X info_message (txt_thread_not_saved);
- X } else {
- X if (is_mailbox) {
- X***************
- X*** 210,223 ****
- X sprintf (buf2, "%s.%02d", save[i].file, i+1);
- X }
- X
- X! open_note (arts[save[i].index].artnum, group_path);
- X ret_code = save_art_to_file (save[i].index, i, is_mailbox, buf2);
- X! note_cleanup ();
- X save[i].saved = TRUE;
- X }
- X
- X if (! save_num) {
- X! info_message(txt_no_match);
- X } else {
- X if (is_mailbox) {
- X sprintf (buf, txt_saved_to_mailbox, get_first_savefile ());
- X--- 216,229 ----
- X sprintf (buf2, "%s.%02d", save[i].file, i+1);
- X }
- X
- X! art_open (arts[save[i].index].artnum, group_path);
- X ret_code = save_art_to_file (save[i].index, i, is_mailbox, buf2);
- X! art_close ();
- X save[i].saved = TRUE;
- X }
- X
- X if (! save_num) {
- X! info_message (txt_no_match);
- X } else {
- X if (is_mailbox) {
- X sprintf (buf, txt_saved_to_mailbox, get_first_savefile ());
- X***************
- X*** 225,231 ****
- X sprintf (buf,txt_saved_pattern_to,
- X get_first_savefile (), get_last_savefile ());
- X }
- X! info_message(buf);
- X }
- X return (ret_code);
- X }
- X--- 231,237 ----
- X sprintf (buf,txt_saved_pattern_to,
- X get_first_savefile (), get_last_savefile ());
- X }
- X! info_message (buf);
- X }
- X return (ret_code);
- X }
- X***************
- X*** 617,623 ****
- X post_process_patch ();
- X break;
- X }
- X- set_tin_uid_gid();
- X
- X info_message (txt_post_processing_finished);
- X sleep (1);
- X--- 623,628 ----
- X***************
- X*** 736,742 ****
- X /*
- X * uudecode file
- X */
- X! wait_message ("Uudecoding...");
- X
- X sprintf (buf, "cd %s; uudecode %s", file_out_dir, file_out);
- X if (invoke_cmd (buf)) {
- X--- 741,747 ----
- X /*
- X * uudecode file
- X */
- X! wait_message (txt_uudecoding);
- X
- X sprintf (buf, "cd %s; uudecode %s", file_out_dir, file_out);
- X if (invoke_cmd (buf)) {
- X***************
- X*** 765,775 ****
- X free (file);
- X file = (char *) 0;
- X }
- X- set_tin_uid_gid ();
- X }
- X
- X if (pp > POST_PROC_UUDECODE) {
- X- set_real_uid_gid ();
- X sprintf (buf, "*.%s", archiver[pp].ext);
- X if ((file = get_archive_file (file_out_dir, buf)) != NULL) {
- X if (pp == POST_PROC_UUD_EXT_ZOO) {
- X--- 770,780 ----
- X free (file);
- X file = (char *) 0;
- X }
- X }
- X
- X+ set_real_uid_gid ();
- X+
- X if (pp > POST_PROC_UUDECODE) {
- X sprintf (buf, "*.%s", archiver[pp].ext);
- X if ((file = get_archive_file (file_out_dir, buf)) != NULL) {
- X if (pp == POST_PROC_UUD_EXT_ZOO) {
- X***************
- X*** 785,799 ****
- X free (file);
- X file = (char *) 0;
- X if (! invoke_cmd (buf)) {
- X error_message ("Post processing failed", "");
- X }
- X }
- X }
- X delete_processed_files ();
- X
- X unlink (file_out);
- X-
- X- set_tin_uid_gid ();
- X }
- X
- X /*
- X--- 790,804 ----
- X free (file);
- X file = (char *) 0;
- X if (! invoke_cmd (buf)) {
- X+ set_real_uid_gid ();
- X error_message ("Post processing failed", "");
- X }
- X+ set_real_uid_gid ();
- X }
- X }
- X delete_processed_files ();
- X
- X unlink (file_out);
- X }
- X
- X /*
- X***************
- X*** 867,872 ****
- X--- 872,878 ----
- X fflush (stdout);
- X Raw (FALSE);
- X invoke_cmd (buf);
- X+ set_real_uid_gid ();
- X Raw (TRUE);
- X unlink (file_out);
- X }
- Xdiff -rcs ../104/screen.c ./screen.c
- X*** ../104/screen.c Mon Sep 30 19:24:27 1991
- X--- ./screen.c Fri Oct 4 08:05:05 1991
- X***************
- X*** 3,9 ****
- X * Module : screen.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 08-09-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X--- 3,9 ----
- X * Module : screen.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 04-10-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 117,122 ****
- X--- 117,123 ----
- X if (draw_arrow_mark) {
- X printf (" ");
- X } else {
- X+ EndInverse ();
- X printf ("%s", screen[line-INDEX_TOP].col);
- X }
- X fflush (stdout);
- Xdiff -rcs ../104/search.c ./search.c
- X*** ../104/search.c Mon Sep 30 19:24:27 1991
- X--- ./search.c Tue Oct 8 19:29:35 1991
- X***************
- X*** 315,321 ****
- X for (p = buf, q = buf2; *p && *p != '\n' && q<&buf2[LEN]; p++) {
- X if (*p == '\b' && q > buf2) {
- X q--;
- X! } else if (*p == 12) { /* ^L */
- X *q++ = '^';
- X *q++ = 'L';
- X ctrl_L = TRUE;
- X--- 315,321 ----
- X for (p = buf, q = buf2; *p && *p != '\n' && q<&buf2[LEN]; p++) {
- X if (*p == '\b' && q > buf2) {
- X q--;
- X! } else if (*p == '\f') { /* ^L */
- X *q++ = '^';
- X *q++ = 'L';
- X ctrl_L = TRUE;
- X***************
- X*** 326,334 ****
- X while (i++ < j) {
- X *q++ = ' ';
- X }
- X! } else if (((*p) & 0x7F) < 32) {
- X *q++ = '^';
- X! *q++ = ((*p) & 0x7F) + '@';
- X } else {
- X *q++ = *p;
- X }
- X--- 326,334 ----
- X while (i++ < j) {
- X *q++ = ' ';
- X }
- X! } else if (((*p) & 0xFF) < ' ') {
- X *q++ = '^';
- X! *q++ = ((*p) & 0xFF) + '@';
- X } else {
- X *q++ = *p;
- X }
- Xdiff -rcs ../104/select.c ./select.c
- X*** ../104/select.c Mon Sep 30 20:43:20 1991
- X--- ./select.c Wed Oct 9 10:33:21 1991
- X***************
- 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--- 3,9 ----
- X * Module : select.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 09-10-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 107,116 ****
- X--- 107,118 ----
- X
- X case 'G': /* ansi PgDn */
- X case 'U': /* at386 PgDn */
- X+ case 'T': /* 97801 PgDn */
- X goto select_page_down;
- X
- X case 'I': /* ansi PgUp */
- X case 'V': /* at386 PgUp */
- X+ case 'S': /* 97801 PgUp */
- X case 'v': /* emacs style */
- X goto select_page_up;
- X
- X***************
- X*** 313,318 ****
- X--- 315,321 ----
- X
- X case 'q': /* quit */
- X tin_done (0);
- X+ break;
- X
- X case 's': /* subscribe to current group */
- X if (active[my_group[cur_groupnum]].flag != SUBS) {
- X***************
- X*** 421,426 ****
- X--- 424,435 ----
- X break;
- X
- X case 'w': /* post a basenote */
- X+ #ifdef USE_NNTP
- X+ if (! can_post) {
- X+ info_message (txt_cannot_post);
- X+ break;
- X+ }
- X+ #endif
- X if (post_base (active[my_group[cur_groupnum]].name)) {
- X group_selection_page ();
- X }
- X***************
- X*** 531,537 ****
- X sprintf (buf, "%s (%d)", txt_group_selection, local_top);
- X center_line (0, TRUE, buf);
- X
- X! if (col = (COLS - (int) strlen (txt_type_h_for_help))+1) {
- X MoveCursor (0, 0); /* in upper middle */
- X if (kill_articles) { /* display KILL on screen */
- X printf ("KILL ON");
- X--- 540,547 ----
- X sprintf (buf, "%s (%d)", txt_group_selection, local_top);
- X center_line (0, TRUE, buf);
- X
- X! col = (COLS - (int) strlen (txt_type_h_for_help))+1;
- X! if (col) {
- X MoveCursor (0, 0); /* in upper middle */
- X if (kill_articles) { /* display KILL on screen */
- X printf ("KILL ON");
- Xdiff -rcs ../104/signal.c ./signal.c
- X*** ../104/signal.c Mon Sep 30 19:24:27 1991
- X--- ./signal.c Tue Oct 15 09:41:42 1991
- X***************
- 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--- 3,9 ----
- X * Module : signal.c
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 15-10-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*** 38,44 ****
- X
- X void set_signal_handlers ()
- X {
- X! signal (SIGQUIT, signal_handler); /* ctrl-\ */
- X signal (SIGILL, signal_handler);
- X signal (SIGBUS, signal_handler);
- X signal (SIGSEGV, signal_handler);
- X--- 38,45 ----
- 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 signal (SIGSEGV, signal_handler);
- X***************
- X*** 70,83 ****
- X void signal_handler (sig)
- X int sig;
- X {
- X! switch (sig) {
- X! case SIGINT:
- X! signal (SIGINT, signal_handler);
- X! break;
- X! default:
- X! Raw (FALSE);
- X! printf ("\n%s: signal handler caught signal %d\n", progname,sig);
- X! exit (1);
- X }
- X }
- X
- X--- 71,94 ----
- X void signal_handler (sig)
- X int sig;
- X {
- X! if (update) {
- X! Raw (FALSE);
- X! EndWin ();
- X! fprintf (stderr, "\n%s: signal handler caught signal %d\n", progname,sig);
- X! fflush (stderr);
- X! exit (1);
- X! } else {
- X! switch (sig) {
- X! case SIGINT:
- X! signal (SIGINT, signal_handler);
- X! break;
- X! default:
- X! Raw (FALSE);
- X! EndWin ();
- X! fprintf (stderr, "\n%s: signal handler caught signal %d\n", progname,sig);
- X! fflush (stderr);
- X! exit (1);
- X! }
- X }
- X }
- X
- Xdiff -rcs ../104/tin.1 ./tin.1
- X*** ../104/tin.1 Wed Oct 2 09:58:17 1991
- X--- ./tin.1 Tue Oct 15 09:44:26 1991
- X***************
- X*** 1,4 ****
- X! .TH TIN 1 "Version 1.0 PL4"
- X .SH NAME
- X tin \- Visual threaded Usenet news reader
- X .SH SYNOPSIS
- X--- 1,4 ----
- X! .TH TIN 1 "Version 1.0 PL5"
- X .SH NAME
- X tin \- Visual threaded Usenet news reader
- X .SH SYNOPSIS
- X***************
- X*** 372,378 ****
- X Go to next group.
- X .TP
- X \fBN\fP
- X! Go to next unread group.
- X .TP
- X \fBo\fP
- X Output current article / thread / articles matching pattern / tagged articles
- X--- 372,378 ----
- X Go to next group.
- X .TP
- X \fBN\fP
- X! Go to next unread article.
- X .TP
- X \fBo\fP
- X Output current article / thread / articles matching pattern / tagged articles
- X***************
- X*** 382,388 ****
- X Go to previous group.
- X .TP
- X \fBP\fP
- X! Go to previous unread group.
- X .TP
- X \fBq\fP
- X Quit tin.
- X--- 382,388 ----
- X Go to previous group.
- X .TP
- X \fBP\fP
- X! Go to previous unread article.
- X .TP
- X \fBq\fP
- X Quit tin.
- X***************
- X*** 500,509 ****
- X User configurable options menu (for more information see section Options Menu).
- X .TP
- X \fBn\fP
- X! Go to to the next article.
- X .TP
- X \fBN\fP
- X! Go to to the next unread article.
- X .TP
- X \fBo\fP
- X Output current article / thread / articles matching pattern / tagged articles
- X--- 500,509 ----
- X User configurable options menu (for more information see section Options Menu).
- X .TP
- X \fBn\fP
- X! Go to the next article.
- X .TP
- X \fBN\fP
- X! Go to the next unread article.
- X .TP
- X \fBo\fP
- X Output current article / thread / articles matching pattern / tagged articles
- X***************
- X*** 862,878 ****
- 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, Paul Fox, Bernhard Gmelch, Viet Hoang, Torsten Homeyer,
- X! Andy Jackson, Joe Johnson, Cyrill Jung, Karl-Koenig Koenigsson,
- X! Hans-Juergen Knopp, Hakan Lennestal, Bob Lukas, Clifford Luke,
- X! Phillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, Otto Niesser,
- X! Reiner Oelhaf, Wolf Paul, Nickolay Saukh, Rich Salz, Fredy Schwatz,
- X! Bernd Schwerin, Klamer Schutte, Karl-Olav Serrander, Chris Smith,
- X! Steve Spearman, Cliff Stanford, Adri Verhoef, Cary Whitney
- X .SH AUTHOR
- X .TP
- X Iain Lea
- X--- 862,883 ----
- X Chris Smith
- X author of multi-part uudecode routine.
- X .PP
- X! I wish to thank the following people for supplying patchs:
- X
- X! Anton Aylward, Carl Hage, Ed Hanway, Karl-Koenig Koenigsson, Kris Kugel,
- X! Hakan Lennestal, Clifford Luke, Bill Poitras, Nickolay Saukh, Rich Salz,
- X! Bart Sears, Karl-Olav Serrander, Doug Sewell, Cliff Stanford, Adri Verhoef,
- X! Cary Whitney
- X! .PP
- X! I wish to thank the following people for bug reports/comments:
- X!
- X! Klaus Arzig, Reiner Balling, Volker Beyer, Roger Binns, Georg Biehler,
- X! Ian Brown, Andreas Brosig, David Donovan, Peter Dressler, Gerhard Ermer,
- X! Hugh Fader, Joachim Feld, Paul Fox, Bernhard Gmelch, Viet Hoang,
- X! Torsten Homeyer, Andy Jackson, Joe Johnson, Cyrill Jung, Hans-Juergen
- X! Knopp, Bob Lukas, Phillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger,
- X! Otto Niesser, Reiner Oelhaf, Wolf Paul, Fredy Schwatz, Bernd Schwerin,
- X! Klamer Schutte, Chris Smith, Steve Spearman
- X .SH AUTHOR
- X .TP
- X Iain Lea
- XOnly in .: tin.diff
- Xdiff -rcs ../104/tin.h ./tin.h
- X*** ../104/tin.h Mon Sep 30 20:23:00 1991
- X--- ./tin.h Thu Oct 10 20:25:10 1991
- X***************
- X*** 3,9 ****
- X * Module : tin.h
- 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--- 3,9 ----
- X * Module : tin.h
- X * Author : R.Skrenta / I.Lea
- X * Created : 01-04-91
- X! * Updated : 10-10-91
- X * Release : 1.0
- X * Notes :
- X * Copyright : (c) Copyright 1991 by Rich Skrenta & Iain Lea
- X***************
- X*** 23,45 ****
- X #include <sys/stat.h>
- X
- X #ifdef BSD
- X! #include <strings.h>
- X #else
- X! #include <string.h>
- X! #include <malloc.h>
- X #endif
- X
- X #ifdef SCO_UNIX
- X! #include <sys/streams.h>
- X! #include <sys/ptem.h>
- X #endif
- X
- X #ifdef SIGWINCH
- X! #include <sys/ioctl.h>
- X! #ifdef AUTO_RESIZE
- X! #include <sys/ttold.h> /* needed for resizing under an xterm */
- X #endif
- X- #endif
- X
- X #include "patchlevel.h"
- X
- X--- 23,45 ----
- X #include <sys/stat.h>
- X
- X #ifdef BSD
- X! # include <strings.h>
- X #else
- X! # include <string.h>
- X! # include <malloc.h>
- X #endif
- X
- X #ifdef SCO_UNIX
- X! # include <sys/streams.h>
- X! # include <sys/ptem.h>
- X #endif
- X
- X #ifdef SIGWINCH
- X! # include <sys/ioctl.h>
- X! # ifdef AUTO_RESIZE
- X! # include <sys/ttold.h> /* needed for resizing under an xterm */
- X! # endif
- X #endif
- X
- X #include "patchlevel.h"
- X
- X***************
- X*** 47,60 ****
- X #define BUG_REPORT_ADDRESS "iain@estevax.uucp"
- X
- X #ifndef SPOOLDIR
- X! #define SPOOLDIR "/usr/spool/news"
- X #endif
- X #ifndef LIBDIR
- X! #define LIBDIR "/usr/lib/news"
- X #endif
- X- #ifndef INEWSDIR
- X- #define INEWSDIR LIBDIR
- X- #endif
- X
- X #define RCDIR ".tin"
- X #define RCFILE "tinrc"
- X--- 47,57 ----
- X #define BUG_REPORT_ADDRESS "iain@estevax.uucp"
- X
- X #ifndef SPOOLDIR
- X! # define SPOOLDIR "/usr/spool/news"
- X #endif
- X #ifndef LIBDIR
- X! # define LIBDIR "/usr/lib/news"
- X #endif
- X
- X #define RCDIR ".tin"
- X #define RCFILE "tinrc"
- X***************
- X*** 67,95 ****
- X #define DEFAULT_MAILDIR "Mail"
- X
- X #ifdef BSD
- X! #define DEFAULT_EDITOR "/usr/ucb/vi"
- X! #define DEFAULT_MAILER "/bin/rmail"
- X! #define DEFAULT_MAILBOX "/usr/spool/mail"
- X! #define DEFAULT_PRINTER "/usr/ucb/lpr"
- X! #define DEFAULT_SUM "sum"
- X! #ifndef USE_LONG_FILENAMES
- X! #define USE_LONG_FILENAMES
- X! #endif
- X #else
- X! #ifdef M_XENIX
- X! #define DEFAULT_EDITOR "/bin/vi"
- X! #define DEFAULT_MAILBOX "/usr/spool/mail"
- X! #else
- X! #define DEFAULT_EDITOR "/usr/bin/vi"
- X! #define DEFAULT_MAILBOX "/usr/mail"
- X #endif
- X- #define DEFAULT_MAILER "/usr/bin/rmail"
- X- /*
- X- #define DEFAULT_MAILER "/usr/lib/sendmail -t"
- X- */
- X- #define DEFAULT_PRINTER "/usr/bin/lp"
- X- #define DEFAULT_SUM "sum -r"
- X- #endif
- X
- X #define DEFAULT_ACTIVE_NUM 100 /* initial size of active array */
- X #define DEFAULT_ARTICLE_NUM 400 /* initial size of art array */
- X--- 64,102 ----
- X #define DEFAULT_MAILDIR "Mail"
- X
- X #ifdef BSD
- X! # define DEFAULT_EDITOR "/usr/ucb/vi"
- X! # define DEFAULT_MAILER "/bin/rmail"
- X! # define DEFAULT_MAILBOX "/usr/spool/mail"
- X! # define DEFAULT_PRINTER "/usr/ucb/lpr"
- X! # define DEFAULT_SUM "sum"
- X! # ifndef USE_LONG_FILENAMES
- X! # define USE_LONG_FILENAMES
- X! # endif
- X #else
- X! # ifdef M_XENIX
- X! # define DEFAULT_EDITOR "/bin/vi"
- X! # define DEFAULT_MAILBOX "/usr/spool/mail"
- X! # else
- X! # define DEFAULT_EDITOR "/usr/bin/vi"
- X! # define DEFAULT_MAILBOX "/usr/mail"
- X! # endif
- X! # ifdef NCR
- X! # define DEFAULT_MAILER "/usr/bin/mailx"
- X! # endif
- X! # ifdef RS6000
- X! # define DEFAULT_PRINTER "/bin/lp"
- X! # endif
- X! # ifdef UNIXPC
- X! # define DEFAULT_MAILER "/bin/rmail"
- X! # endif
- X! # ifndef DEFAULT_MAILER
- X! # define DEFAULT_MAILER "/usr/bin/mail"
- X! # endif
- X! # ifndef DEFAULT_PRINTER
- X! # define DEFAULT_PRINTER "/usr/bin/lp"
- X! # endif
- X! # define DEFAULT_SUM "sum -r"
- X #endif
- X
- X #define DEFAULT_ACTIVE_NUM 100 /* initial size of active array */
- X #define DEFAULT_ARTICLE_NUM 400 /* initial size of art array */
- X***************
- X*** 99,117 ****
- X #define TRUE 1
- X #define FALSE 0
- X
- X! #define LEN 200
- X
- X #ifdef USE_LONG_FILENAMES
- X! #define LONG_PATH_PART "part"
- X! #define LONG_PATH_PATCH "patch"
- X #else
- X! #define LONG_PATH_PART ""
- X! #define LONG_PATH_PATCH "p"
- 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--- 106,124 ----
- X #define TRUE 1
- X #define FALSE 0
- X
- X! #define LEN 1024
- X
- X #ifdef USE_LONG_FILENAMES
- X! # define LONG_PATH_PART "part"
- X! # define LONG_PATH_PATCH "patch"
- X #else
- X! # define LONG_PATH_PART ""
- X! # define LONG_PATH_PATCH "p"
- 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***************
- X*** 129,141 ****
- X
- X
- X #ifdef USE_INVERSE_HACK
- X! #define BLANK_SELECT_COLS 59
- X! #define BLANK_GROUP_COLS 2
- X! #define BLANK_PAGE_COLS 2
- X #else
- X! #define BLANK_SELECT_COLS 57
- X! #define BLANK_GROUP_COLS 0
- X! #define BLANK_PAGE_COLS 0
- X #endif
- X
- X #define SCREEN_READ_UNREAD 6 /* position for " +" / " " */
- X--- 136,148 ----
- X
- X
- X #ifdef USE_INVERSE_HACK
- X! # define BLANK_SELECT_COLS 59
- X! # define BLANK_GROUP_COLS 2
- X! # define BLANK_PAGE_COLS 2
- X #else
- X! # define BLANK_SELECT_COLS 57
- X! # define BLANK_GROUP_COLS 0
- X! # define BLANK_PAGE_COLS 0
- X #endif
- X
- X #define SCREEN_READ_UNREAD 6 /* position for " +" / " " */
- X***************
- X*** 259,264 ****
- X--- 266,280 ----
- X #define NOTGOT 0x01 /* haven't put in my_group yet */
- X #define SUBS 0x02 /* subscribed to */
- X
- X+ /*
- X+ * used in hashstr.c
- X+ */
- X+
- X+ struct hashnode {
- X+ char *s; /* the string we're saving */
- X+ struct hashnode *next; /* chain for spillover */
- X+ };
- X+
- X #define KILL_SUBJ 1
- X #define KILL_FROM 2
- X #define KILL_BOTH 3
- X***************
- X*** 304,312 ****
- X extern struct screen_t *screen;
- X
- X struct posted_t {
- X! char date[LEN];
- X! char group[LEN];
- X! char subj[LEN];
- X };
- X
- X extern struct posted_t *posted;
- X--- 320,328 ----
- X extern struct screen_t *screen;
- X
- X struct posted_t {
- X! char date[10];
- X! char group[80];
- X! char subj[120];
- X };
- X
- X extern struct posted_t *posted;
- X***************
- X*** 322,327 ****
- X--- 338,347 ----
- X extern struct sigaction old_act;
- X #endif
- X
- X+ #ifdef USE_NNTP
- X+ extern int can_post; /* open.c */
- X+ #endif
- X+
- X extern int debug;
- X extern int active_num;
- X extern int article_num;
- X***************
- X*** 433,441 ****
- X */
- X
- X #ifdef __STDC__
- X! #define assert(p) if(! (p)) asfail(__FILE__, __LINE__, #p); else
- X #else
- X! #define assert(p) if(! (p)) asfail(__FILE__, __LINE__, "p"); else
- X #endif
- X
- X /*
- X--- 453,461 ----
- X */
- X
- X #ifdef __STDC__
- X! # define assert(p) if(! (p)) asfail(__FILE__, __LINE__, #p); else
- X #else
- X! # define assert(p) if(! (p)) asfail(__FILE__, __LINE__, "p"); else
- X #endif
- X
- X /*
- Xdiff -rcs ../104/tin.nrf ./tin.nrf
- X*** ../104/tin.nrf Wed Oct 2 19:49:00 1991
- X--- ./tin.nrf Wed Oct 16 20:07:30 1991
- X***************
- X*** 1,7 ****
- X
- X
- X
- X! Version 1.0 PL4 TIN(1)
- X
- X
- X
- X--- 1,7 ----
- X
- X
- X
- X! Version 1.0 PL5 TIN(1)
- X
- X
- X
- X***************
- X*** 67,73 ****
- X
- X
- X
- X! TIN(1) Version 1.0 PL4
- X
- X
- X -S save news articles for later reading. Useful when going
- X--- 67,73 ----
- X
- X
- X
- X! TIN(1) Version 1.0 PL5
- X
- X
- X -S save news articles for later reading. Useful when going
- X***************
- X*** 133,139 ****
- X
- X
- X
- X! Version 1.0 PL4 TIN(1)
- X
- X
- X A good way to keep Tin index files current is to run tin -u from
- X--- 133,139 ----
- X
- X
- X
- X! Version 1.0 PL5 TIN(1)
- X
- X
- X A good way to keep Tin index files current is to run tin -u from
- X***************
- X*** 199,205 ****
- X
- X
- X
- X! TIN(1) Version 1.0 PL4
- X
- X
- X COMMON MOVING KEYS
- X--- 199,205 ----
- X
- X
- X
- X! TIN(1) Version 1.0 PL5
- X
- X
- X COMMON MOVING KEYS
- X***************
- X*** 265,271 ****
- X
- X
- X
- X! Version 1.0 PL4 TIN(1)
- X
- X
- X M User configurable options menu (for more information
- X--- 265,271 ----
- X
- X
- X
- X! Version 1.0 PL5 TIN(1)
- X
- X
- X M User configurable options menu (for more information
- X***************
- X*** 331,337 ****
- X
- X
- X
- X! TIN(1) Version 1.0 PL4
- X
- X
- X B Mail a bug/gripe/comment to the author of tin. This is
- X--- 331,337 ----
- X
- X
- X
- X! TIN(1) Version 1.0 PL5
- X
- X
- X B Mail a bug/gripe/comment to the author of tin. This is
- X***************
- X*** 364,370 ****
- X
- X n Go to next group.
- X
- X! N Go to next unread group.
- X
- X o Output current article / thread / articles matching
- X pattern / tagged articles to printer.
- X--- 364,370 ----
- X
- X n Go to next group.
- X
- X! N Go to next unread article.
- X
- X o Output current article / thread / articles matching
- X pattern / tagged articles to printer.
- X***************
- X*** 371,377 ****
- X
- X p Go to previous group.
- X
- X! P Go to previous unread group.
- X
- X q Quit tin.
- X
- X--- 371,377 ----
- X
- X p Go to previous group.
- X
- X! P Go to previous unread article.
- X
- X q Quit tin.
- X
- X***************
- X*** 397,403 ****
- X
- X
- X
- X! Version 1.0 PL4 TIN(1)
- X
- X
- X v Print tin version number.
- X--- 397,403 ----
- X
- X
- X
- X! Version 1.0 PL5 TIN(1)
- X
- X
- X v Print tin version number.
- X***************
- X*** 463,469 ****
- X
- X
- X
- X! TIN(1) Version 1.0 PL4
- X
- X
- X h Help screen of article page commands.
- X--- 463,469 ----
- X
- X
- X
- X! TIN(1) Version 1.0 PL5
- X
- X
- X h Help screen of article page commands.
- X***************
- X*** 486,494 ****
- X M User configurable options menu (for more information
- X see section Options Menu).
- X
- X! n Go to to the next article.
- X
- X! N Go to to the next unread article.
- X
- X o Output current article / thread / articles matching
- X pattern / tagged articles to printer.
- X--- 486,494 ----
- X M User configurable options menu (for more information
- X see section Options Menu).
- X
- X! n Go to the next article.
- X
- X! N Go to the next unread article.
- X
- X o Output current article / thread / articles matching
- X pattern / tagged articles to printer.
- X***************
- X*** 529,535 ****
- X
- X
- X
- X! Version 1.0 PL4 TIN(1)
- X
- X
- X z Mark article as unread.
- X--- 529,535 ----
- X
- X
- X
- X! Version 1.0 PL5 TIN(1)
- X
- X
- X z Mark article as unread.
- X***************
- X*** 595,601 ****
- X
- X
- X
- X! TIN(1) Version 1.0 PL4
- X
- X
- X Goto 1st unread
- X--- 595,601 ----
- X
- X
- X
- X! TIN(1) Version 1.0 PL5
- X
- X
- X Goto 1st unread
- X***************
- X*** 661,667 ****
- X
- X
- X
- X! Version 1.0 PL4 TIN(1)
- X
- X
- X On starting tin the users killfile $_H_O_M_E/._t_i_n/_k_i_l_l is read and on
- X--- 661,667 ----
- X
- X
- X
- X! Version 1.0 PL5 TIN(1)
- X
- X
- X On starting tin the users killfile $_H_O_M_E/._t_i_n/_k_i_l_l is read and on
- X***************
- X*** 727,733 ****
- X
- X
- X
- X! TIN(1) Version 1.0 PL4
- SHAR_EOF
- echo "End of tin part 3"
- echo "File tin.patch05 is continued in part 4"
- echo "4" > shar3_seq_.tmp
- exit 0
-
- --
- NAME Iain Lea
- EMAIL iain@estevax.uucp ...!unido!estevax!iain
- SNAIL Bruecken Str. 12, 8500 Nuernberg, Germany
- PHONE +49-911-3089-407 (work) +49-911-331963 (home)
-
- 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.
-