home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-04-03 | 50.5 KB | 1,909 lines |
- Newsgroups: comp.sources.misc
- From: iain%anl433.uucp@germany.eu.net (Iain Lea)
- Subject: v29i052: tin - threaded full screen newsreader v1.1 PL2, Patch02c/4
- Message-ID: <1992Apr3.225948.7845@sparky.imd.sterling.com>
- X-Md4-Signature: 80e204d469db66e357e1ff55eb3f2c20
- Date: Fri, 3 Apr 1992 22:59:48 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: iain%anl433.uucp@germany.eu.net (Iain Lea)
- Posting-number: Volume 29, Issue 52
- Archive-name: tin/patch02c
- Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
- Patch-To: tin: Volume 29, Issue 19-30
-
- #!/bin/sh
- # this is patch112.shar.03 (part 3 of tin)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file tin.patch112 continued
- #
- if test ! -r _shar_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
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping tin.patch112'
- else
- echo 'x - continuing file tin.patch112'
- sed 's/^X//' << 'SHAR_EOF' >> 'tin.patch112' &&
- ! set_tin_uid_gid ();
- X return FALSE;
- X }
- X chmod(nam, 0600);
- --- 576,584 ----
- X
- X wait_message (txt_mail_bug_report);
- X
- X sprintf (nam, "%s/.bugreport", homedir);
- X if ((fp = fopen (nam, "w")) == NULL) {
- ! perror_message (txt_cannot_open, nam);
- X return FALSE;
- X }
- X chmod(nam, 0600);
- ***************
- *** 551,557 ****
- X start_line_offset++;
- X }
- X
- ! if ((fp_uname = popen ("uname -a", "r")) != NULL) {
- X fprintf (fp, "\n");
- X start_line_offset++;
- X while (fgets (buf, sizeof (buf), fp_uname) != NULL) {
- --- 595,601 ----
- X start_line_offset++;
- X }
- X
- ! if ((fp_uname = (FILE *) popen ("uname -a", "r")) != NULL) {
- X fprintf (fp, "\n");
- X start_line_offset++;
- X while (fgets (buf, sizeof (buf), fp_uname) != NULL) {
- ***************
- *** 599,605 ****
- X switch (ch) {
- X case 'e':
- X invoke_editor (nam);
- - set_real_uid_gid ();
- X break;
- X
- X case 'a':
- --- 643,648 ----
- ***************
- *** 606,612 ****
- X case ESC:
- X unlink (nam);
- X clear_message ();
- - set_tin_uid_gid ();
- X return TRUE;
- X
- X case 's':
- --- 649,654 ----
- ***************
- *** 639,647 ****
- X }
- X
- X mail_bug_report_done:
- - set_real_uid_gid ();
- X unlink (nam);
- - set_tin_uid_gid ();
- X
- X return TRUE;
- X }
- --- 681,687 ----
- ***************
- *** 662,673 ****
- X
- X wait_message (txt_reply_to_author);
- X
- - set_real_uid_gid ();
- -
- X sprintf (nam, "%s/.letter", homedir);
- X if ((fp = fopen (nam, "w")) == NULL) {
- ! error_message (txt_cannot_open, nam);
- ! set_tin_uid_gid ();
- X return (redraw_screen);
- X }
- X chmod (nam, 0600);
- --- 702,710 ----
- X
- X wait_message (txt_reply_to_author);
- X
- X sprintf (nam, "%s/.letter", homedir);
- X if ((fp = fopen (nam, "w")) == NULL) {
- ! perror_message (txt_cannot_open, nam);
- X return (redraw_screen);
- X }
- X chmod (nam, 0600);
- ***************
- *** 700,706 ****
- X switch (ch) {
- X case 'e':
- X invoke_editor (nam);
- - set_real_uid_gid ();
- X redraw_screen = TRUE;
- X break;
- X
- --- 737,742 ----
- ***************
- *** 708,714 ****
- X case ESC:
- X unlink (nam);
- X clear_message ();
- - set_tin_uid_gid ();
- X return (redraw_screen);
- X
- X case 's':
- --- 744,749 ----
- ***************
- *** 736,744 ****
- X }
- X
- X mail_to_author_done:
- - set_real_uid_gid ();
- X unlink (nam);
- - set_tin_uid_gid ();
- X
- X return (redraw_screen);
- X }
- --- 771,777 ----
- ***************
- *** 761,767 ****
- X *new_value = '\0';
- X
- X if ((fp = fopen (file, "r")) == NULL) {
- ! error_message (txt_cannot_open, file);
- X return;
- X }
- X
- --- 794,800 ----
- X *new_value = '\0';
- X
- X if ((fp = fopen (file, "r")) == NULL) {
- ! perror_message (txt_cannot_open, file);
- X return;
- X }
- X
- ***************
- *** 817,828 ****
- X
- X clear_message ();
- X
- - set_real_uid_gid ();
- -
- X sprintf (cancel, "%s/.cancel", homedir);
- X if ((fp = fopen (cancel, "w")) == NULL) {
- ! error_message (txt_cannot_open, cancel);
- ! set_tin_uid_gid ();
- X return (redraw_screen);
- X }
- X chmod (cancel, 0600);
- --- 850,858 ----
- X
- X clear_message ();
- X
- X sprintf (cancel, "%s/.cancel", homedir);
- X if ((fp = fopen (cancel, "w")) == NULL) {
- ! perror_message (txt_cannot_open, cancel);
- X return (redraw_screen);
- X }
- X chmod (cancel, 0600);
- ***************
- *** 861,867 ****
- X switch (ch) {
- X case 'e':
- X invoke_editor (cancel);
- - set_real_uid_gid ();
- X redraw_screen = TRUE;
- X break;
- X
- --- 891,896 ----
- ***************
- *** 869,875 ****
- X case ESC:
- X unlink (cancel);
- X clear_message ();
- - set_tin_uid_gid ();
- X return (redraw_screen);
- X
- X case 'c':
- --- 898,903 ----
- ***************
- *** 885,893 ****
- X }
- X
- X cancel_article_done:
- - set_real_uid_gid ();
- X unlink (cancel);
- - set_tin_uid_gid ();
- X
- X return (redraw_screen);
- X }
- --- 913,919 ----
- ***************
- *** 915,921 ****
- X ret_code = invoke_cmd (buf);
- X #endif /* NNTP_INEWS */
- X
- - set_real_uid_gid ();
- X return (ret_code);
- X }
- X
- --- 941,946 ----
- ***************
- *** 926,931 ****
- --- 951,960 ----
- X {
- X FILE *sigf;
- X
- + #ifdef NNTP_INEWS
- + flag = TRUE;
- + #endif
- +
- X if ((sigf = fopen (signature, "r")) != NULL) {
- X if (flag) {
- X fprintf (fp, "\n--\n");
- Only in .: post.o
- diff -rcs ../111/prompt.c ./prompt.c
- *** ../111/prompt.c Fri Mar 27 14:01:04 1992
- --- ./prompt.c Thu Mar 26 15:05:40 1992
- ***************
- *** 28,34 ****
- --- 28,36 ----
- X int num;
- X int time_remaining;
- X
- + #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X
- X clear_message ();
- X
- ***************
- *** 43,49 ****
- --- 45,53 ----
- X
- X clear_message ();
- X
- + #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X
- X return (num);
- X }
- ***************
- *** 60,67 ****
- X {
- X char *p;
- X int time_remaining;
- !
- X time_remaining = alarm (0);
- X
- X clear_message ();
- X
- --- 64,73 ----
- X {
- X char *p;
- X int time_remaining;
- !
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X
- X clear_message ();
- X
- ***************
- *** 68,81 ****
- X if ((p = getline (prompt, FALSE, (char *) 0)) == (char *) 0) {
- X buf[0] = '\0';
- X clear_message ();
- X alarm (time_remaining);
- X return FALSE;
- X }
- X strcpy (buf, p);
- X
- X clear_message ();
- !
- X alarm (time_remaining);
- X
- X return TRUE;
- X }
- --- 74,90 ----
- X if ((p = getline (prompt, FALSE, (char *) 0)) == (char *) 0) {
- X buf[0] = '\0';
- X clear_message ();
- + #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X return FALSE;
- X }
- X strcpy (buf, p);
- X
- X clear_message ();
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X
- X return TRUE;
- X }
- ***************
- *** 93,110 ****
- X {
- X char *p;
- X int time_remaining;
- !
- X time_remaining = alarm (0);
- X
- X MoveCursor (line, col);
- X
- X if ((p = getline ("", FALSE, var)) == (char *) 0) {
- X alarm (time_remaining);
- X return FALSE;
- X }
- X strcpy (var, p);
- !
- X alarm (time_remaining);
- X
- X return TRUE;
- X }
- --- 102,123 ----
- X {
- X char *p;
- X int time_remaining;
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X
- X MoveCursor (line, col);
- X
- X if ((p = getline ("", FALSE, var)) == (char *) 0) {
- + #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X return FALSE;
- X }
- X strcpy (var, p);
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X
- X return TRUE;
- X }
- ***************
- *** 117,124 ****
- X {
- X char ch;
- X int time_remaining;
- !
- X time_remaining = alarm (0);
- X
- X MoveCursor (line, 0);
- X CleartoEOLN ();
- --- 130,138 ----
- X {
- X char ch;
- X int time_remaining;
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X
- X MoveCursor (line, 0);
- X CleartoEOLN ();
- ***************
- *** 141,148 ****
- X }
- X fflush (stdout);
- X }
- !
- X alarm (time_remaining);
- X
- X return (ch == 'y' ? TRUE : FALSE);
- X }
- --- 155,163 ----
- X }
- X fflush (stdout);
- X }
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X
- X return (ch == 'y' ? TRUE : FALSE);
- X }
- ***************
- *** 157,164 ****
- X {
- X int ch, var_orig;
- X int time_remaining;
- !
- X time_remaining = alarm (0);
- X
- X var_orig = *var;
- X
- --- 172,180 ----
- X {
- X int ch, var_orig;
- X int time_remaining;
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X
- X var_orig = *var;
- X
- ***************
- *** 177,184 ****
- X printf ("%s", (*var ? "ON " : "OFF"));
- X fflush (stdout);
- X }
- !
- X alarm (time_remaining);
- X }
- X
- X
- --- 193,201 ----
- X printf ("%s", (*var ? "ON " : "OFF"));
- X fflush (stdout);
- X }
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X }
- X
- X
- ***************
- *** 186,198 ****
- X {
- X char ch;
- X int time_remaining;
- !
- X time_remaining = alarm (0);
- X
- X info_message (txt_hit_any_key);
- X ch = (char) ReadCh ();
- !
- X alarm (time_remaining);
- X }
- X
- X
- --- 203,217 ----
- X {
- X char ch;
- X int time_remaining;
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X
- X info_message (txt_hit_any_key);
- X ch = (char) ReadCh ();
- ! #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X }
- X
- X
- Only in .: prompt.o
- diff -rcs ../111/proto.h ./proto.h
- *** ../111/proto.h Fri Mar 27 14:01:21 1992
- --- ./proto.h Sat Mar 28 13:18:44 1992
- ***************
- *** 16,22 ****
- X extern int parse_headers(int fd, struct article_t *h);
- X extern void dump_index_file(char *group, int killed);
- X extern int load_index_file(char *group_name);
- ! extern void find_index_file(char *group);
- X extern void do_update(void);
- X extern void reload_index_file(char *group, int killed);
- X extern char *parse_date(char *date, char *str);
- --- 16,22 ----
- X extern int parse_headers(int fd, struct article_t *h);
- X extern void dump_index_file(char *group, int killed);
- X extern int load_index_file(char *group_name);
- ! extern void find_index_file(char *group, char *group_path);
- X extern void do_update(void);
- X extern void reload_index_file(char *group, int killed);
- X extern char *parse_date(char *date, char *str);
- ***************
- *** 124,129 ****
- --- 124,130 ----
- X extern int mail_check(void);
- X extern void parse_from(char *str, char *addr, char *name);
- X extern long my_atol(char *s, int n);
- + extern int my_stricmp(char *p, char *q);
- X extern char *eat_re(char *s);
- X extern long hash_s(char *s);
- X extern void my_strncpy(char *p, char *q, int n);
- ***************
- *** 183,188 ****
- --- 184,190 ----
- X /* post.c */
- X extern int user_posted_messages(void);
- X extern void update_art_posted_file(char *group, char *subj);
- + extern int post_header_ok(char *article);
- X extern int post_base(char *group, int *posted);
- X extern int post_response(char *group, int respnum, int copy_text);
- X extern int mail_to_someone(char *address, int confirm_to_mail);
- ***************
- *** 229,234 ****
- --- 231,237 ----
- X extern void info_message(char *str);
- X extern void wait_message(char *str);
- X extern void error_message(char *template, char *str);
- + extern void perror_message(char *template, char *str);
- X extern void clear_message(void);
- X extern void center_line(int line, int inverse, char *str);
- X extern void draw_arrow(int line);
- ***************
- *** 312,318 ****
- X extern int parse_headers(/*int fd, struct article_t *h*/);
- X extern void dump_index_file(/*char *group, int killed*/);
- X extern int load_index_file(/*char *group_name*/);
- ! extern void find_index_file(/*char *group*/);
- X extern void do_update(/*void*/);
- X extern void reload_index_file(/*char *group, int killed*/);
- X extern char *parse_date(/*char *date, char *str*/);
- --- 315,321 ----
- X extern int parse_headers(/*int fd, struct article_t *h*/);
- X extern void dump_index_file(/*char *group, int killed*/);
- X extern int load_index_file(/*char *group_name*/);
- ! extern void find_index_file(/*char *group, char *group_path*/);
- X extern void do_update(/*void*/);
- X extern void reload_index_file(/*char *group, int killed*/);
- X extern char *parse_date(/*char *date, char *str*/);
- ***************
- *** 420,425 ****
- --- 423,429 ----
- X extern int mail_check(/*void*/);
- X extern void parse_from(/*char *str, char *addr, char *name*/);
- X extern long my_atol(/*char *s, int n*/);
- + extern int my_stricmp(/*char *p, char *q*/);
- X extern char *eat_re(/*char *s*/);
- X extern long hash_s(/*char *s*/);
- X extern void my_strncpy(/*char *p, char *q, int n*/);
- ***************
- *** 479,484 ****
- --- 483,489 ----
- X /* post.c */
- X extern int user_posted_messages(/*void*/);
- X extern void update_art_posted_file(/*char *group, char *subj*/);
- + extern int post_header_ok(/*char *article*/);
- X extern int post_base(/*char *group, int *posted*/);
- X extern int post_response(/*char *group, int respnum, int copy_text*/);
- X extern int mail_to_someone(/*char *address, int confirm_to_mail*/);
- ***************
- *** 525,530 ****
- --- 530,536 ----
- X extern void info_message(/*char *str*/);
- X extern void wait_message(/*char *str*/);
- X extern void error_message(/*char *template, char *str*/);
- + extern void perror_message(/*char *template, char *str*/);
- X extern void clear_message(/*void*/);
- X extern void center_line(/*int line, int inverse, char *str*/);
- X extern void draw_arrow(/*int line*/);
- diff -rcs ../111/rcfile.c ./rcfile.c
- *** ../111/rcfile.c Fri Mar 27 14:01:04 1992
- --- ./rcfile.c Thu Mar 26 16:54:41 1992
- ***************
- *** 3,9 ****
- X * Module : rcfile.c
- X * Author : I.Lea
- X * Created : 01-04-91
- ! * Updated : 13-03-92
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea
- X * You may freely copy or redistribute this software,
- --- 3,9 ----
- X * Module : rcfile.c
- X * Author : I.Lea
- X * Created : 01-04-91
- ! * Updated : 26-03-92
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea
- X * You may freely copy or redistribute this software,
- ***************
- *** 35,42 ****
- X if (buf[0] != '#') {
- X if (strncmp (buf, "save_archive=", 13) == 0) {
- X save_archive_name = (strncmp (&buf[13], "ON", 2) == 0 ? TRUE : FALSE);
- ! } else if (strncmp (buf, "save_separate=", 14) == 0) {
- ! save_separate = (strncmp (&buf[14], "ON", 2) == 0 ? TRUE : FALSE);
- X } else if (strncmp (buf, "mark_saved_read=", 16) == 0) {
- X mark_saved_read = (strncmp (&buf[16], "ON", 2) == 0 ? TRUE : FALSE);
- X } else if (strncmp (buf, "kill_articles=", 14) == 0) {
- --- 35,42 ----
- X if (buf[0] != '#') {
- X if (strncmp (buf, "save_archive=", 13) == 0) {
- X save_archive_name = (strncmp (&buf[13], "ON", 2) == 0 ? TRUE : FALSE);
- ! } else if (strncmp (buf, "start_editor_offset=", 20) == 0) {
- ! start_editor_offset = (strncmp (&buf[20], "ON", 2) == 0 ? TRUE : FALSE);
- X } else if (strncmp (buf, "mark_saved_read=", 16) == 0) {
- X mark_saved_read = (strncmp (&buf[16], "ON", 2) == 0 ? TRUE : FALSE);
- X } else if (strncmp (buf, "kill_articles=", 14) == 0) {
- ***************
- *** 126,133 ****
- X {
- X FILE *fp;
- X
- - set_real_uid_gid ();
- -
- X if ((fp = fopen (rcfile, "w")) != NULL) {
- X if (! cmd_line) {
- X wait_message (txt_saving);
- --- 126,131 ----
- ***************
- *** 137,143 ****
- X fprintf (fp, "save_archive=%s\n\n", (save_archive_name ? "ON" : "OFF"));
- X fprintf (fp, "# if ON articles of a threads will be saved to separate files\n");
- X fprintf (fp, "# otherwise the whole thread will be saved to one file\n");
- ! fprintf (fp, "save_separate=%s\n\n", (save_separate ? "ON" : "OFF"));
- X fprintf (fp, "# if ON mark articles that are saved as read\n");
- X fprintf (fp, "mark_saved_read=%s\n\n", (mark_saved_read ? "ON" : "OFF"));
- X fprintf (fp, "# if ON use -> otherwise highlighted bar for selection\n");
- --- 135,141 ----
- X fprintf (fp, "save_archive=%s\n\n", (save_archive_name ? "ON" : "OFF"));
- X fprintf (fp, "# if ON articles of a threads will be saved to separate files\n");
- X fprintf (fp, "# otherwise the whole thread will be saved to one file\n");
- ! fprintf (fp, "start_editor_offset=%s\n\n", (start_editor_offset ? "ON" : "OFF"));
- X fprintf (fp, "# if ON mark articles that are saved as read\n");
- X fprintf (fp, "mark_saved_read=%s\n\n", (mark_saved_read ? "ON" : "OFF"));
- X fprintf (fp, "# if ON use -> otherwise highlighted bar for selection\n");
- ***************
- *** 183,189 ****
- X fclose (fp);
- X chmod (rcfile, 0600);
- X }
- - set_tin_uid_gid ();
- X }
- X
- X /*
- --- 181,186 ----
- ***************
- *** 210,216 ****
- --- 207,217 ----
- X if (do_sigtstp) {
- X #ifdef POSIX_JOB_CONTROL
- X sigemptyset (&rcfile_act.sa_mask);
- + #if defined(SA_RESTART)
- X rcfile_act.sa_flags = SA_RESTART | SA_RESETHAND;
- + #else
- + rcfile_act.sa_flags = 0;
- + #endif
- X rcfile_act.sa_handler = SIG_DFL;
- X sigaction (SIGTSTP, &rcfile_act, &old_act);
- X #else
- ***************
- *** 231,237 ****
- --- 232,242 ----
- X if (do_sigtstp) {
- X #ifdef POSIX_JOB_CONTROL
- X sigemptyset (&rcfile_act.sa_mask);
- + #if defined(SA_RESTART)
- X rcfile_act.sa_flags = SA_RESTART | SA_RESETHAND;
- + #else
- + rcfile_act.sa_flags = 0;
- + #endif
- X rcfile_act.sa_handler = rcfile_suspend;
- X sigaction (SIGTSTP, &rcfile_act, 0L);
- X #else
- ***************
- *** 254,260 ****
- --- 259,269 ----
- X if (do_sigtstp) {
- X #ifdef POSIX_JOB_CONTROL
- X sigemptyset (&rcfile_act.sa_mask);
- + #if defined(SA_RESTART)
- X rcfile_act.sa_flags = SA_RESTART | SA_RESETHAND;
- + #else
- + rcfile_act.sa_flags = 0;
- + #endif
- X rcfile_act.sa_handler = SIG_IGN;
- X sigaction (SIGTSTP, &rcfile_act, 0L);
- X #else
- ***************
- *** 287,293 ****
- --- 296,306 ----
- X if (do_sigtstp) {
- X #ifdef POSIX_JOB_CONTROL
- X sigemptyset (&rcfile_act.sa_mask);
- + #if defined(SA_RESTART)
- X rcfile_act.sa_flags = SA_RESTART | SA_RESETHAND;
- + #else
- + rcfile_act.sa_flags = 0;
- + #endif
- X rcfile_act.sa_handler = SIG_IGN;
- X sigaction (SIGTSTP, &old_act, 0L);
- X #else
- ***************
- *** 302,310 ****
- X txt_help_autosave, txt_opt_autosave);
- X break;
- X
- ! case 2: /* save sperate */
- ! prompt_on_off (INDEX_TOP, COL2, &save_separate,
- ! txt_help_save_separate, txt_opt_save_separate);
- X break;
- X
- X case 3: /* mark saved articles read */
- --- 315,323 ----
- X txt_help_autosave, txt_opt_autosave);
- X break;
- X
- ! case 2: /* start editor with line offset */
- ! prompt_on_off (INDEX_TOP, COL2, &start_editor_offset,
- ! txt_help_start_editor_offset, txt_opt_start_editor_offset);
- X break;
- X
- X case 3: /* mark saved articles read */
- ***************
- *** 625,631 ****
- X printf ("%s%s", txt_opt_thread_arts, (thread_arts ? "ON " : "OFF"));
- X
- X MoveCursor(INDEX_TOP, COL2);
- ! printf ("%s%s", txt_opt_save_separate, (save_separate ? "ON " : "OFF"));
- X MoveCursor(INDEX_TOP+2, COL2);
- X printf ("%s%s", txt_opt_draw_arrow, (draw_arrow_mark ? "ON " : "OFF"));
- X MoveCursor(INDEX_TOP+4, COL2);
- --- 638,644 ----
- X printf ("%s%s", txt_opt_thread_arts, (thread_arts ? "ON " : "OFF"));
- X
- X MoveCursor(INDEX_TOP, COL2);
- ! printf ("%s%s", txt_opt_start_editor_offset, (start_editor_offset ? "ON " : "OFF"));
- X MoveCursor(INDEX_TOP+2, COL2);
- X printf ("%s%s", txt_opt_draw_arrow, (draw_arrow_mark ? "ON " : "OFF"));
- X MoveCursor(INDEX_TOP+4, COL2);
- Only in .: rcfile.o
- diff -rcs ../111/save.c ./save.c
- *** ../111/save.c Fri Mar 27 14:01:09 1992
- --- ./save.c Fri Mar 27 14:32:28 1992
- ***************
- *** 3,9 ****
- X * Module : save.c
- X * Author : I.Lea & R.Skrenta
- X * Created : 01-04-91
- ! * Updated : 22-03-92
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
- X * You may freely copy or redistribute this software,
- --- 3,9 ----
- X * Module : save.c
- X * Author : I.Lea & R.Skrenta
- X * Created : 01-04-91
- ! * Updated : 27-03-92
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
- X * You may freely copy or redistribute this software,
- ***************
- *** 99,105 ****
- X case SAVE_ANY_NEWS:
- X sprintf (logfile, "%s/log", rcdir);
- X if ((fp_log = fopen (logfile, "w")) == NULL) {
- ! error_message (txt_cannot_open, logfile);
- X fp_log = stdout;
- X verbose = FALSE;
- X log_opened = FALSE;
- --- 99,105 ----
- X case SAVE_ANY_NEWS:
- X sprintf (logfile, "%s/log", rcdir);
- X if ((fp_log = fopen (logfile, "w")) == NULL) {
- ! perror_message (txt_cannot_open, logfile);
- X fp_log = stdout;
- X verbose = FALSE;
- X log_opened = FALSE;
- ***************
- *** 168,174 ****
- X if ((fp = fopen (savefile, "w")) == NULL) {
- X fprintf (fp_log, txt_cannot_open, savefile);
- X if (verbose) {
- ! error_message (txt_cannot_open, savefile);
- X }
- X continue;
- X }
- --- 168,174 ----
- X if ((fp = fopen (savefile, "w")) == NULL) {
- X fprintf (fp_log, txt_cannot_open, savefile);
- X if (verbose) {
- ! perror_message (txt_cannot_open, savefile);
- X }
- X continue;
- X }
- ***************
- *** 292,303 ****
- X return (ret_code);
- X }
- X
- - set_real_uid_gid ();
- -
- X if ((fp = fopen (save_filename (i), "a+")) == NULL) {
- X save[i].saved = FALSE;
- X info_message (txt_art_not_saved);
- - set_tin_uid_gid ();
- X return (ret_code);
- X }
- X
- --- 292,300 ----
- ***************
- *** 305,311 ****
- X fprintf (fp, "From %s %s", note_h_path, ctime (&epoch));
- X
- X if (fseek (note_fp, 0L, 0) == -1) {
- ! error_message ("fseek() error on [%s]", arts[respnum].subject);
- X }
- X copy_fp (note_fp, fp, (char *) 0);
- X fputs ("\n", fp);
- --- 302,308 ----
- X fprintf (fp, "From %s %s", note_h_path, ctime (&epoch));
- X
- X if (fseek (note_fp, 0L, 0) == -1) {
- ! perror_message ("fseek() error on [%s]", arts[respnum].subject);
- X }
- X copy_fp (note_fp, fp, (char *) 0);
- X fputs ("\n", fp);
- ***************
- *** 314,321 ****
- X
- X save[i].saved = TRUE;
- X
- - set_tin_uid_gid ();
- -
- X if (filename == (char *) 0) {
- X if (is_mailbox) {
- X sprintf (save_art_info, txt_saved_to_mailbox, get_first_savefile ());
- --- 311,316 ----
- ***************
- *** 344,351 ****
- X int i, ret_code = FALSE;
- X long epoch;
- X
- - set_real_uid_gid ();
- -
- X for (i=0 ; i < save_num ; i++) {
- X sprintf (msg, "%s%d", txt_saving, ++count);
- X wait_message (msg);
- --- 339,344 ----
- ***************
- *** 360,366 ****
- X ret_code = save_art_to_file (save[i].index, i, is_mailbox, buf);
- X art_close ();
- X }
- - set_tin_uid_gid ();
- X
- X first_savefile = get_first_savefile ();
- X
- --- 353,358 ----
- ***************
- *** 373,385 ****
- X if (save_num == 1) {
- X sprintf (save_thread_info, txt_art_saved_to, first_savefile);
- X } else {
- ! if (save_separate) {
- ! sprintf (save_thread_info, txt_thread_saved_to_many,
- ! first_savefile, get_last_savefile ());
- ! } else {
- ! sprintf (save_thread_info, txt_thread_saved_to,
- ! first_savefile);
- ! }
- X }
- X if (first_savefile != (char *) 0) {
- X free (first_savefile);
- --- 365,372 ----
- X if (save_num == 1) {
- X sprintf (save_thread_info, txt_art_saved_to, first_savefile);
- X } else {
- ! sprintf (save_thread_info, txt_thread_saved_to_many,
- ! first_savefile, get_last_savefile ());
- X }
- X if (first_savefile != (char *) 0) {
- X free (first_savefile);
- ***************
- *** 450,456 ****
- X char *file;
- X struct stat st;
- X
- ! if (! save[i].is_mailbox && save_separate) {
- X file = save_filename (i);
- X if (stat(file, &st) != -1) {
- X sprintf (buf, txt_append_to_file, file);
- --- 437,443 ----
- X char *file;
- X struct stat st;
- X
- ! if (! save[i].is_mailbox) {
- X file = save_filename (i);
- X if (stat(file, &st) != -1) {
- X sprintf (buf, txt_append_to_file, file);
- ***************
- *** 477,483 ****
- X int create_path (path)
- X char *path;
- X {
- ! #ifdef INDEX_DAEMON
- X
- X char buf[LEN];
- X char group[LEN];
- --- 464,470 ----
- X int create_path (path)
- X char *path;
- X {
- ! #ifndef INDEX_DAEMON
- X
- X char buf[LEN];
- X char group[LEN];
- ***************
- *** 551,557 ****
- X buf[j+1] = '\0';
- X if (stat (buf, &st) == -1) {
- X if (mkdir (buf, 0755) == -1) {
- ! error_message ("Cannot create %s", buf);
- X return FALSE;
- X }
- X }
- --- 538,544 ----
- X buf[j+1] = '\0';
- X if (stat (buf, &st) == -1) {
- X if (mkdir (buf, 0755) == -1) {
- ! perror_message ("Cannot create %s", buf);
- X return FALSE;
- X }
- X }
- ***************
- *** 696,712 ****
- X char *p1;
- X char *p2;
- X {
- ! struct save_t *s1 = (struct save_t *)p1;
- ! struct save_t *s2 = (struct save_t *)p2;
- X
- ! /* s1->subject less than s2->subject */
- ! if (strcmp (s1->subject, s2->subject) < 0) {
- ! return -1;
- X }
- ! /* s1->subject greater than s2->subject */
- ! if (strcmp (s1->subject, s2->subject) > 0) {
- ! return 1;
- ! }
- X return 0;
- X }
- X
- --- 683,719 ----
- X char *p1;
- X char *p2;
- X {
- ! struct save_t *s1 = (struct save_t *) p1;
- ! struct save_t *s2 = (struct save_t *) p2;
- X
- ! /*
- ! * Sort on Archive-name: part & patch otherwise Subject:
- ! */
- ! if (s1->archive != (char *) 0) {
- ! if (s1->part != (char *) 0) {
- ! if (strcmp (s1->part, s2->part) < 0) {
- ! return -1;
- ! }
- ! if (strcmp (s1->part, s2->part) > 0) {
- ! return 1;
- ! }
- ! } else {
- ! if (strcmp (s1->patch, s2->patch) < 0) {
- ! return -1;
- ! }
- ! if (strcmp (s1->patch, s2->patch) > 0) {
- ! return 1;
- ! }
- ! }
- ! } else {
- ! if (strcmp (s1->subject, s2->subject) < 0) {
- ! return -1;
- ! }
- ! if (strcmp (s1->subject, s2->subject) > 0) {
- ! return 1;
- ! }
- X }
- !
- X return 0;
- X }
- X
- ***************
- *** 723,730 ****
- X return (filename);
- X }
- X
- ! if (! save_separate || ! save_archive_name || (! save[i].part && ! save[i].patch)) {
- ! if (! save_separate || save_num == 1) {
- X sprintf (filename, "%s/%s", save[i].dir, save[i].file);
- X } else {
- X sprintf (filename, "%s/%s.%02d", save[i].dir, save[i].file, i+1);
- --- 730,737 ----
- X return (filename);
- X }
- X
- ! if (! save_archive_name || (! save[i].part && ! save[i].patch)) {
- ! if (save_num == 1) {
- X sprintf (filename, "%s/%s", save[i].dir, save[i].file);
- X } else {
- X sprintf (filename, "%s/%s.%02d", save[i].dir, save[i].file, i+1);
- ***************
- *** 780,786 ****
- X }
- X }
- X } else {
- ! if (! save_separate || save_num == 1) {
- X sprintf (file, "%s", save[i].file);
- X } else {
- X sprintf (file, "%s.%02d", save[i].file, i+1);
- --- 787,793 ----
- X }
- X }
- X } else {
- ! if (save_num == 1) {
- X sprintf (file, "%s", save[i].file);
- X } else {
- X sprintf (file, "%s.%02d", save[i].file, i+1);
- ***************
- *** 821,827 ****
- X }
- X }
- X } else {
- ! if (! save_separate || save_num == 1) {
- X sprintf (file, "%s", save[i].file);
- X } else {
- X sprintf (file, "%s.%02d", save[i].file, i+1);
- --- 828,834 ----
- X }
- X }
- X } else {
- ! if (save_num == 1) {
- X sprintf (file, "%s", save[i].file);
- X } else {
- X sprintf (file, "%s.%02d", save[i].file, i+1);
- ***************
- *** 841,848 ****
- X if (save_num) {
- X wait_message (txt_post_processing);
- X
- - set_real_uid_gid();
- -
- X switch (proc_type_ch) {
- X case 's':
- X post_process_sh ();
- --- 848,853 ----
- ***************
- *** 897,903 ****
- X sprintf (file_out, "%s/tin.%05d", file_out_dir, process_id);
- X
- X if ((fp_out = fopen (file_out, "a+")) == NULL) {
- ! error_message (txt_cannot_open, file_out);
- X }
- X
- X
- --- 902,908 ----
- X sprintf (file_out, "%s/tin.%05d", file_out_dir, process_id);
- X
- X if ((fp_out = fopen (file_out, "a+")) == NULL) {
- ! perror_message (txt_cannot_open, file_out);
- X }
- X
- X
- ***************
- *** 984,990 ****
- X
- X sprintf (buf, "cd %s; uudecode %s", file_out_dir, file_out);
- X if (invoke_cmd (buf)) {
- - set_real_uid_gid ();
- X /*
- X * sum file
- X */
- --- 989,994 ----
- ***************
- *** 992,998 ****
- X sprintf (buf, "%s %s", DEFAULT_SUM, file);
- X printf ("\r\n\r\nChecksum of %s...\r\n\r\n", file);
- X fflush (stdout);
- ! if ((fp_in = popen (buf, "r")) == NULL) {
- X printf ("Cannot execute %s\r\n", buf);
- X fflush (stdout);
- X } else {
- --- 996,1002 ----
- X sprintf (buf, "%s %s", DEFAULT_SUM, file);
- X printf ("\r\n\r\nChecksum of %s...\r\n\r\n", file);
- X fflush (stdout);
- ! if ((fp_in = (FILE *) popen (buf, "r")) == NULL) {
- X printf ("Cannot execute %s\r\n", buf);
- X fflush (stdout);
- X } else {
- ***************
- *** 1013,1020 ****
- X }
- X }
- X
- - set_real_uid_gid ();
- -
- X if (pp > POST_PROC_UUDECODE) {
- X sprintf (buf, "*.%s", archiver[pp].ext);
- X if ((file = get_archive_file (file_out_dir, buf)) != NULL) {
- --- 1017,1022 ----
- ***************
- *** 1033,1042 ****
- X file = (char *) 0;
- X }
- X if (! invoke_cmd (buf)) {
- - set_real_uid_gid ();
- X error_message ("Post processing failed", "");
- X }
- - set_real_uid_gid ();
- X }
- X }
- X delete_processed_files ();
- --- 1035,1042 ----
- ***************
- *** 1122,1128 ****
- X fflush (stdout);
- X Raw (FALSE);
- X invoke_cmd (buf);
- - set_real_uid_gid ();
- X Raw (TRUE);
- X unlink (file_out);
- X }
- --- 1122,1127 ----
- ***************
- *** 1143,1149 ****
- X
- X sprintf (buf, "ls -t %s/%s", dir, ext);
- X
- ! if ((fp = popen (buf, "r")) == NULL) {
- X return (char *) 0;
- X }
- X
- --- 1142,1148 ----
- X
- X sprintf (buf, "ls -t %s/%s", dir, ext);
- X
- ! if ((fp = (FILE *) popen (buf, "r")) == NULL) {
- X return (char *) 0;
- X }
- X
- Only in .: save.o
- diff -rcs ../111/screen.c ./screen.c
- *** ../111/screen.c Fri Mar 27 14:01:10 1992
- --- ./screen.c Thu Mar 26 15:05:41 1992
- ***************
- *** 61,66 ****
- --- 61,88 ----
- X }
- X
- X
- + void perror_message (template, str)
- + char *template;
- + char *str;
- + {
- + char str2[512];
- +
- + clear_message (); /* Clear any old messages hanging around */
- +
- + sprintf (str2, template, str);
- + perror (str2);
- + errno = 0;
- +
- + if (cmd_line) {
- + fprintf (stderr, "\n");
- + fflush (stderr);
- + } else {
- + MoveCursor (LINES, 0);
- + sleep (2);
- + }
- + }
- +
- +
- X void clear_message ()
- X {
- X if (! cmd_line) {
- Only in .: screen.o
- Files ../111/search.c and ./search.c are identical
- Only in .: search.o
- diff -rcs ../111/select.c ./select.c
- *** ../111/select.c Fri Mar 27 14:01:11 1992
- --- ./select.c Sun Mar 29 04:45:13 1992
- ***************
- *** 3,9 ****
- X * Module : select.c
- X * Author : I.Lea & R.Skrenta
- X * Created : 01-04-91
- ! * Updated : 22-03-92
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
- X * You may freely copy or redistribute this software,
- --- 3,9 ----
- X * Module : select.c
- X * Author : I.Lea & R.Skrenta
- X * Created : 01-04-91
- ! * Updated : 28-03-92
- X * Notes :
- X * Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
- X * You may freely copy or redistribute this software,
- ***************
- *** 54,69 ****
- X #endif
- X
- X group_selection_page (); /* display group selection page */
- -
- X set_alarm_signal (); /* set alarm signal for resync_active_file () */
- X
- X while (TRUE) {
- X resync_active_file (); /* reread active file if alarm set */
- X num_of_killed_files = 0;
- X num_of_tagged_files = 0;
- ! ch = (char) ReadCh();
- !
- X resync_active_file (); /* reread active file if alarm set */
- X
- X if (ch > '0' && ch <= '9') {
- X prompt_group_num (ch);
- --- 54,71 ----
- X #endif
- X
- X group_selection_page (); /* display group selection page */
- X set_alarm_signal (); /* set alarm signal for resync_active_file () */
- X
- X while (TRUE) {
- + #ifdef RESYNC_ACTIVE_FILE
- X resync_active_file (); /* reread active file if alarm set */
- + #endif
- X num_of_killed_files = 0;
- X num_of_tagged_files = 0;
- ! ch = (char) ReadCh ();
- ! #ifdef RESYNC_ACTIVE_FILE
- X resync_active_file (); /* reread active file if alarm set */
- + #endif
- X
- X if (ch > '0' && ch <= '9') {
- X prompt_group_num (ch);
- ***************
- *** 275,280 ****
- --- 277,287 ----
- X draw_group_arrow ();
- X break;
- X
- + case ctrl('Y'): /* yank active file to see if any new news */
- + reread_active_file = TRUE;
- + resync_active_file ();
- + break;
- +
- X case 'B': /* bug/gripe/comment mailed to author */
- X mail_bug_report ();
- X #ifndef USE_CLEARSCREEN
- ***************
- *** 339,348 ****
- --- 346,359 ----
- X break;
- X
- X case 'M': /* options menu */
- + #ifndef NO_RESYNC_ACTIVE_FILE
- X time_remaining = alarm (0);
- + #endif
- X change_rcfile ("", TRUE);
- X group_selection_page ();
- + #ifndef NO_RESYNC_ACTIVE_FILE
- X alarm (time_remaining);
- + #endif
- X break;
- X
- X case 'N': /* goto next unread group */
- Only in .: select.o
- Files ../111/signal.c and ./signal.c are identical
- Only in .: signal.o
- Files ../111/thread.c and ./thread.c are identical
- Only in .: thread.o
- diff -rcs ../111/tin.1 ./tin.1
- *** ../111/tin.1 Fri Mar 27 14:00:22 1992
- --- ./tin.1 Sun Mar 29 12:16:20 1992
- ***************
- *** 17,23 ****
- X .if \n(mo=10 .ds mo October
- X .if \n(mo=11 .ds mo November
- X .if \n(mo=12 .ds mo December
- ! .TH TIN 1 "Version 1.1 PL1" "" "LOCAL"
- X .ds ]W \*(mo \n(dy, 19\n(yr
- X .nh
- X .SH NAME
- --- 17,23 ----
- X .if \n(mo=10 .ds mo October
- X .if \n(mo=11 .ds mo November
- X .if \n(mo=12 .ds mo December
- ! .TH TIN 1 "Version 1.1 PL2" "" "LOCAL"
- X .ds ]W \*(mo \n(dy, 19\n(yr
- X .nh
- X .SH NAME
- ***************
- *** 316,321 ****
- --- 316,325 ----
- X \fB^R\fP
- X Reset \fI$HOME/.newsrc\fP file.
- X .TP
- + \fB^Y\fP
- + Reread the active file to see if any new news has arrived since
- + starting tin.
- + .TP
- X \fB<CR>\fP
- X Read current group.
- X .TP
- ***************
- *** 718,728 ****
- X .TP 4
- X \fBAuto save\fP
- X Automatically save articles/threads by Archive-name: line in article
- ! header. This is useful to set ON in conjunction with 'Save separate'.
- X .TP
- ! \fBSave separate\fP
- ! Save articles/threads to separate files. Set ON if saving source code.
- ! Set OFF if saving a conversational thread.
- X .TP
- X \fBMark saved read\fP
- X This allows saved articles/threads to be automatically marked as
- --- 722,733 ----
- X .TP 4
- X \fBAuto save\fP
- X Automatically save articles/threads by Archive-name: line in article
- ! header and post process them if process type is not set to None.
- X .TP
- ! \fBEditor offset\fP
- ! Set ON if the editor used for posting, follow-ups and bug reports has
- ! the capability of starting and positioning the cursor at a specified line
- ! within a file.
- X .TP
- X \fBMark saved read\fP
- X This allows saved articles/threads to be automatically marked as
- ***************
- *** 1072,1080 ****
- X Steven Cogswell, Ned Danieley, Brent Ermlick, Carl Hage, Ed Hanway,
- X Torsten Homeyer, Nelson Kading, Fritz Kleeman, Karl-Koenig Koenigsson,
- X Kris Kugel, Hakan Lennestal, Clifford Luke, Michael Faurot, David MacKenzie,
- ! Bill Poitras, Jim Robinson, Nickolay Saukh, Rich Salz, John Sauter,
- ! Bart Sears, Karl-Olav Serrander, Doug Sewell, Cliff Stanford,
- ! Adri Verhoef, Cary Whitney
- X .PP
- X I wish to thank the following people for bug reports/comments:
- X
- --- 1077,1085 ----
- X Steven Cogswell, Ned Danieley, Brent Ermlick, Carl Hage, Ed Hanway,
- X Torsten Homeyer, Nelson Kading, Fritz Kleeman, Karl-Koenig Koenigsson,
- X Kris Kugel, Hakan Lennestal, Clifford Luke, Michael Faurot, David MacKenzie,
- ! Bill Poitras, Jim Robinson, Stephen Roseman, Nickolay Saukh,
- ! Rich Salz, John Sauter, Bart Sears, Karl-Olav Serrander, Doug Sewell,
- ! Cliff Stanford, Adri Verhoef, Cary Whitney
- X .PP
- X I wish to thank the following people for bug reports/comments:
- X
- ***************
- *** 1082,1089 ****
- X Georg Biehler, Ian Brown, Andreas Brosig, Leila Burrell-Davis, Tom Czarnik,
- X David Donovan, Peter Dressler, Gerhard Ermer, Hugh Fader, Joachim Feld,
- X Paul Fox, Bernhard Gmelch, Viet Hoang, Andy Jackson, Joe Johnson, Cyrill Jung,
- ! Hans-Juergen Knopp, Per Lindqvist, Bob Lukas, Phillip Molloy, Toni Metz,
- ! Greg Miller, Klaus Neuberger, Otto Niesser, Reiner Oelhaf, Wolf Paul,
- X John Palkovic, Andrew Phillips, Ted Richards, Fredy Schwatz, Bernd Schwerin,
- X Klamer Schutte, Chris Smith, Daniel Smith, Steve Spearman, Hironobu Takahashi,
- X Sven Werner
- --- 1087,1094 ----
- X Georg Biehler, Ian Brown, Andreas Brosig, Leila Burrell-Davis, Tom Czarnik,
- X David Donovan, Peter Dressler, Gerhard Ermer, Hugh Fader, Joachim Feld,
- X Paul Fox, Bernhard Gmelch, Viet Hoang, Andy Jackson, Joe Johnson, Cyrill Jung,
- ! Hans-Juergen Knopp, Bernhard Kroenung, Per Lindqvist, Bob Lukas, Phillip Molloy,
- ! Toni Metz, Greg Miller, Klaus Neuberger, Otto Niesser, Reiner Oelhaf, Wolf Paul,
- X John Palkovic, Andrew Phillips, Ted Richards, Fredy Schwatz, Bernd Schwerin,
- X Klamer Schutte, Chris Smith, Daniel Smith, Steve Spearman, Hironobu Takahashi,
- X Sven Werner
- Only in .: tin.diff
- diff -rcs ../111/tin.h ./tin.h
- *** ../111/tin.h Fri Mar 27 14:01:16 1992
- --- ./tin.h Sun Mar 29 12:33:05 1992
- ***************
- *** 3,9 ****
- X * Module : tin.h
- X * Author : I.Lea & R.Skrenta
- X * Created : 01-04-91
- ! * Updated : 21-03-92
- X * Notes : #include files, #defines & struct's
- X * Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
- X * You may freely copy or redistribute this software,
- --- 3,9 ----
- X * Module : tin.h
- X * Author : I.Lea & R.Skrenta
- X * Created : 01-04-91
- ! * Updated : 29-03-92
- X * Notes : #include files, #defines & struct's
- X * Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
- X * You may freely copy or redistribute this software,
- ***************
- *** 16,24 ****
- X #include <signal.h>
- X #include <sys/types.h>
- X #include <pwd.h>
- - #if !defined(MINIX) && !defined(__convexc__)
- - # include <memory.h>
- - #endif
- X #include <ctype.h>
- X #include <time.h>
- X #include <sys/stat.h>
- --- 16,21 ----
- ***************
- *** 27,44 ****
- X # include <strings.h>
- X # include <fcntl.h>
- X #else
- - # include <string.h>
- X # ifndef MINIX
- X # include <malloc.h>
- X # else
- X # include <stdlib.h>
- X # endif
- X #endif
- X
- X #ifdef M_XENIX
- X # include <prototypes.h>
- X #endif
- X
- X /*
- X * Needed for resizing under an xterm
- X */
- --- 24,49 ----
- X # include <strings.h>
- X # include <fcntl.h>
- X #else
- X # ifndef MINIX
- X # include <malloc.h>
- X # else
- X # include <stdlib.h>
- X # endif
- + # include <string.h>
- X #endif
- X
- + #if !defined(MINIX) && !defined(__convexc__)
- + # include <memory.h>
- + #endif
- +
- X #ifdef M_XENIX
- X # include <prototypes.h>
- X #endif
- X
- + #ifdef SVR4
- + # include <locale.h>
- + #endif
- +
- X /*
- X * Needed for resizing under an xterm
- X */
- ***************
- *** 145,150 ****
- --- 150,156 ----
- X # define DEFAULT_MAILER "/usr/bin/mailx"
- X # endif
- X # ifdef RS6000
- + # define DEFAULT_MAILER "/usr/bin/mail"
- X # define DEFAULT_PRINTER "/bin/lp"
- X # endif
- X # ifdef UNIXPC
- ***************
- *** 385,394 ****
- X * article number in spool directory for group
- X *
- X * article.thread:
- ! * initially -1
- ! * points to another arts[] (struct article_t): zero and up
- X * -2 means article has expired (wasn't found in file search
- X * of spool directory for the group)
- X *
- X * article.inthread:
- X * FALSE for the first article in a thread, TRUE for all
- --- 391,400 ----
- X * article number in spool directory for group
- X *
- X * article.thread:
- ! * -1 initial default
- X * -2 means article has expired (wasn't found in file search
- X * of spool directory for the group)
- + * >=0 points to another arts[] (struct article_t)
- X *
- X * article.inthread:
- X * FALSE for the first article in a thread, TRUE for all
- diff -rcs ../111/tin.nrf ./tin.nrf
- *** ../111/tin.nrf Fri Mar 27 14:00:28 1992
- --- ./tin.nrf Sun Mar 29 16:57:22 1992
- ***************
- *** 314,326 ****
- X
- X ^^RR Reset $_H_O_M_E/._n_e_w_s_r_c file.
- X
- X <<CCRR>> Read current group.
- X
- X <<TTAABB>> View next unread group.
- X
- - BB Mail a bug report or comment to the author. This is the
- - best way of getting bugs fixed and features
- - added/changed.
- X
- X
- X
- --- 314,326 ----
- X
- X ^^RR Reset $_H_O_M_E/._n_e_w_s_r_c file.
- X
- + ^^YY Reread the active file to see if any new news has arrived
- + since starting tin.
- +
- X <<CCRR>> Read current group.
- X
- X <<TTAABB>> View next unread group.
- X
- X
- X
- X
- ***************
- *** 335,340 ****
- --- 335,344 ----
- X
- X
- X
- + BB Mail a bug report or comment to the author. This is the
- + best way of getting bugs fixed and features
- + added/changed.
- +
- X cc Mark current group as all read and goto next group in
- X group selection list.
- X
- ***************
- *** 383,392 ****
- X
- X yy The first time this command is called it will yank in all
- X groups from /_u_s_r/_l_o_c_a_l/_n_e_w_s/_a_c_t_i_v_e that are not in
- - $_H_O_M_E/._n_e_w_s_r_c. After any groups have been
- - subscribed/unsubscribed to, this command if pressed again
- - will reread $_H_O_M_E/._n_e_w_s_r_c and display only subscribed
- - groups.
- X
- X
- X
- --- 387,392 ----
- ***************
- *** 401,406 ****
- --- 401,411 ----
- X
- X
- X
- + $_H_O_M_E/._n_e_w_s_r_c. After any groups have been
- + subscribed/unsubscribed to, this command if pressed again
- + will reread $_H_O_M_E/._n_e_w_s_r_c and display only subscribed
- + groups.
- +
- X YY Reread group list from $_H_O_M_E/._n_e_w_s_r_c file.
- X
- X zz Mark all articles in the current group as unread.
- ***************
- *** 448,462 ****
- X HH help screen of context sensitive help about group index
- X level.
- X
- - II Toggle inverse video.
- X
- - KK Mark article/thread as read and advance to next unread
- - article/thread.
- X
- X
- X
- -
- -
- X NEWS-OS Release 4.1R 7
- X
- X
- --- 453,462 ----
- ***************
- *** 467,472 ****
- --- 467,477 ----
- X
- X
- X
- + II Toggle inverse video.
- +
- + KK Mark article/thread as read and advance to next unread
- + article/thread.
- +
- X ll List the author of each response in current thread and
- X enter thread selection level.
- X
- ***************
- *** 515,528 ****
- X
- X zz Mark current article as unread.
- X
- - ZZ Mark current thread as unread.
- X
- - // Search forward for specified subject.
- X
- X
- -
- -
- -
- X 8 Release 4.1R NEWS-OS
- X
- X
- --- 520,528 ----
- ***************
- *** 533,538 ****
- --- 533,542 ----
- X
- X
- X
- + ZZ Mark current thread as unread.
- +
- + // Search forward for specified subject.
- +
- X ?? Search backward for specified subject.
- X
- X -- Show last message.
- ***************
- *** 582,594 ****
- X
- X <<CCRR>> Goto next base article.
- X
- - <<TTAABB>> Goto next unread article.
- X
- - aa Author forward search.
- X
- X
- -
- -
- X NEWS-OS Release 4.1R 9
- X
- X
- --- 586,594 ----
- ***************
- *** 599,604 ****
- --- 599,608 ----
- X
- X
- X
- + <<TTAABB>> Goto next unread article.
- +
- + aa Author forward search.
- +
- X AA Author backward search.
- X
- X BB Mail a bug report or comment to the author. This is the
- ***************
- *** 648,660 ****
- X
- X qq Quit tin.
- X
- - rr Reply through mail to author.
- X
- - RR Reply through mail to author with a copy of the current
- X
- X
- -
- -
- X 10 Release 4.1R NEWS-OS
- X
- X
- --- 652,660 ----
- ***************
- *** 665,670 ****
- --- 665,673 ----
- X
- X
- X
- + rr Reply through mail to author.
- +
- + RR Reply through mail to author with a copy of the current
- X article included.
- X
- X ss Save current article / thread / articles matching pattern
- ***************
- *** 704,726 ****
- X
- X AAuuttoo ssaavvee
- X Automatically save articles/threads by Archive-name: line in
- ! article header. This is useful to set ON in conjunction with
- ! 'Save separate'.
- X
- ! SSaavvee sseeppaarraattee
- ! Save articles/threads to separate files. Set ON if saving
- ! source code. Set OFF if saving a conversational thread.
- X
- X MMaarrkk ssaavveedd rreeaadd
- X This allows saved articles/threads to be automatically marked
- - as having been read.
- X
- - KKiillll aarrttiicclleess
- - This allows the user to kill articles that match entries in the
- X
- X
- X
- -
- X NEWS-OS Release 4.1R 11
- X
- X
- --- 707,726 ----
- X
- X AAuuttoo ssaavvee
- X Automatically save articles/threads by Archive-name: line in
- ! article header and post process them if process type is not set
- ! to None.
- X
- ! EEddiittoorr ooffffsseett
- ! Set ON if the editor used for posting, follow-ups and bug
- ! reports has the capability of starting and positioning the
- ! cursor at a specified line within a file.
- X
- X MMaarrkk ssaavveedd rreeaadd
- X This allows saved articles/threads to be automatically marked
- X
- X
- X
- X
- X NEWS-OS Release 4.1R 11
- X
- X
- ***************
- *** 731,736 ****
- --- 731,740 ----
- X
- X
- X
- + as having been read.
- +
- + KKiillll aarrttiicclleess
- + This allows the user to kill articles that match entries in the
- X kill file $_H_O_M_E/._t_i_n/_k_i_l_l.
- X
- X DDrraaww aarrrrooww
- ***************
- *** 779,792 ****
- X -unpacking of multi-part shell archives.
- X -unpacking of multi-part uuencoded files.
- X -unpacking of multi-part uuencoded files that produce a
- - *.zoo archive whose contents is listed.
- - -unpacking of multi-part uuencoded files that produce a
- - *.zoo archive whose contents is extracted.
- X
- X
- X
- X
- -
- X 12 Release 4.1R NEWS-OS
- X
- X
- --- 783,792 ----
- ***************
- *** 797,802 ****
- --- 797,806 ----
- X
- X
- X
- + *.zoo archive whose contents is listed.
- + -unpacking of multi-part uuencoded files that produce a
- + *.zoo archive whose contents is extracted.
- +
- X SSoorrtt aarrttiicclleess bbyy
- X This specifies how articles should be sorted. The following
- X sort types are allowed:
- ***************
- *** 845,854 ****
- X
- X Use the 'w' command to post an article to a newsgroup. After
- X entering the post subject the default editor (ie. vi) or the editor
- - specified by the $VISUAL environment variable will be started and
- - the article can be entered. To crosspost articles simply add a
- - comma and the name of the newsgroup(s) to the end of the
- - Newsgroups: line at the beginning of the article. After saving and
- X
- X
- X
- --- 849,854 ----
- ***************
- *** 863,868 ****
- --- 863,872 ----
- X
- X
- X
- + specified by the $VISUAL environment variable will be started and
- + the article can be entered. To crosspost articles simply add a
- + comma and the name of the newsgroup(s) to the end of the
- + Newsgroups: line at the beginning of the article. After saving and
- X exiting the editor you are asked if you wish to a)bort posting the
- X article, e)dit the article again or p)ost the article to the
- X specified newsgroup(s).
- ***************
- *** 911,920 ****
- X parts etc). A default process type can be set by the 'Process
- X type:' in the 'M' options menu.
- X
- - AAUUTTOOMMAATTIICC MMAAIILLIINNGG AANNDD SSAAVVIINNGG NNEEWW NNEEWWSS
- - Tin allows new/unread news articles to be mailed (-M option)/saved
- - (-S option) in batch mode for later reading. Useful when going on
- - holiday and you don't want to return and find that expire has
- X
- X
- X
- --- 915,920 ----
- ***************
- *** 929,934 ****
- --- 929,938 ----
- X
- X
- X
- + AAUUTTOOMMAATTIICC MMAAIILLIINNGG AANNDD SSAAVVIINNGG NNEEWW NNEEWWSS
- + Tin allows new/unread news articles to be mailed (-M option)/saved
- + (-S option) in batch mode for later reading. Useful when going on
- + holiday and you don't want to return and find that expire has
- X removed a whole load of unread articles. Best to run from crontab
- X everyday while away, after which you will be mailed a report of
- X which articles were mailed/saved from which newsgroups and the
- ***************
- *** 977,986 ****
- X specified and the file /_e_t_c/_n_n_t_p_s_e_r_v_e_r does not exist.
- X
- X OORRGGAANNIIZZAATTIIOONN
- - Set the mail header field Organization: to the contents of the
- - variable instead of the system default. This variable has
- - precedence over the file $_H_O_M_E/._t_i_n/_o_r_g_a_n_i_z_a_t_i_o_n that may also
- - contain an organization string.
- X
- X
- X
- --- 981,986 ----
- ***************
- *** 995,1000 ****
- --- 995,1005 ----
- X
- X
- X
- + Set the mail header field Organization: to the contents of the
- + variable instead of the system default. This variable has
- + precedence over the file $_H_O_M_E/._t_i_n/_o_r_g_a_n_i_z_a_t_i_o_n that may also
- + contain an organization string.
- +
- X RREEPPLLYYTTOO
- X Set the mail header field Reply-To: to the return address
- X specified by the variable. This is useful if the machine is
- ***************
- *** 1041,1056 ****
- X offer a default choice that the cursor is positioned on. By
- X pressing <CR> the default value is taken.
- X
- - When tin is run in an xterm window it will resize itself each time
- - the xterm is resized.
- X
- - Tin will reread the active file at set intervals to show any new
- - news.
- X
- X
- X
- X
- -
- X 16 Release 4.1R NEWS-OS
- X
- X
- --- 1046,1056 ----
- ***************
- *** 1061,1066 ****
- --- 1061,1072 ----
- X
- X
- X
- + When tin is run in an xterm window it will resize itself each time
- SHAR_EOF
- true || echo 'restore of tin.patch112 failed'
- fi
- echo 'End of tin part 3'
- echo 'File tin.patch112 is continued in part 4'
- echo 4 > _shar_seq_.tmp
- exit 0
- --
- Dr. med. dipl.-math Dieter Becker Tel.: (0 / +49) 6841 - 16 3046
- Medizinische Universitaets- und Poliklinik Fax.: (0 / +49) 6841 - 16 3369
- Innere Medizin III
- D - 6650 Homburg / Saar Email: becker@med-in.uni-sb.de
- exit 0 # Just in case...
-