Newsgroups: comp.sources.misc From: iain@norisc.siemens.de (Iain J. Lea) Subject: v23i084: tin - threaded full screen newsreader, Patch05a/4 Message-ID: X-Md4-Signature: 3357c314ab8e502e40ad85f17221e0df Date: Sun, 20 Oct 1991 03:25:21 GMT Approved: kent@sparky.imd.sterling.com Submitted-by: iain@norisc.siemens.de (Iain J. Lea) Posting-number: Volume 23, Issue 84 Archive-name: tin/patch05a Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX Patch-To: tin: Volume 23, Issue 15-23 This patch updates tin 1.0 PL4 to PL5 (patchlevel 5). To apply unpack all 4 parts of this patch and then enter: patch < tin.patch05 NOTE: Due to a number of things (i.e., department change, lose of main net connection) this patch has not been as heavily tested on different machines and OS's as usual. Your mileage may vary. Therefore please make a copy of your PL4 code before applying the following patch. Major changes over tin 1.0 PL4 are the following: o Added support for IBM RS/6000, NCR Tower, AT&T UNIXPC & SNI Sinix. o Fixed -U option when reading news via NNTP. o Fixed highlighted bar operation on some terminals. o Fixed cursor movement & inverse video in cmdtool window on SunOS. o Fixed setuid() & setgid() problems. o Fixed handling of 8 bit problems. For more bugs fixes, other changes & additions read the CHANGES & TODO files. #!/bin/sh # This is tin, a shell archive (shar 3.24) # made 10/17/1991 18:23 UTC by iain@estevax.uucp # Source directory /piez/iain/tin/105 # # existing files WILL be overwritten # # This is part 1 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 143190 -rw------- tin.patch05 # if touch 2>&1 | fgrep '[-amc]' > /dev/null then TOUCH=touch else TOUCH=true fi if test -r shar3_seq_.tmp; then echo "Must unpack archives in sequence!" next=`cat shar3_seq_.tmp`; echo "Please unpack part $next next" exit 1 fi # ============= tin.patch05 ============== echo "x - extracting tin.patch05 (Text)" sed 's/^X//' << 'SHAR_EOF' > tin.patch05 && Xdiff -rcs ../104/CHANGES ./CHANGES X*** ../104/CHANGES Wed Oct 2 19:35:59 1991 X--- ./CHANGES Wed Oct 16 20:01:50 1991 X*************** X*** 1,3 **** X--- 1,97 ---- X+ CHANGES tin v1.0 PL4 -> tin 1.0 PL5 X+ ----------------------------------- X+ X+ 1) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson) X+ BUG. error in comments surrounding sysvr4 entry. X+ FIX. removed \ at end of line. X+ X+ 2) bill@polygen.com (Bill Poitras) X+ BUG. no support for IBM RS/6000 in Makefile. Thanx for patch. X+ FIX. Makefile - added supplied patch. X+ X+ 3) bill@polygen.com (Bill Poitras) X+ BUG. When reading a command on IBM RS/6000 it takes 3 more chars X+ typed in to get the first to be executed. The next keystroke X+ you type causes tin to execute the second key you typed before. X+ FIX. curses.c main.c - added supplied patch and put the #define X+ READ_CHAR_HACK and defined it as default for 'make aix' X+ X+ 4) sears@cello.hpl.hp.com (Bart Sears) X+ BUG. Some terminals (including HP terminals) have a different "model" X+ of how highlighting works. Once you have turned on a section X+ of the screen you need to turn it off (if you write new chars X+ in that area, they will usually stay highlighted). X+ When moving the selected line down, the old selected line X+ would stay highlighted because of this. Thanx for the patch. X+ FIX. screen.c - added supplied patch. X+ X+ 5) unido!ncrcol.columbiasc.NCR.COM!donovan (David Donovan) X+ BUG. when -U option used and news is read via NNTP all groups seem X+ to be empty. X+ FIX. main.c - -U option now opens 2nd NNTP connection to update index X+ files in background so as not to interfere with foreground NNTP X+ connection. X+ X+ 6) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson) X+ BUG. When in article selection mode N and P goes to next and previous X+ unread article, but according to the help screen and manual these X+ are mapped to "goto next/previous unread group". X+ FIX. help.c tin.1 - changed text to be correct. X+ X+ 7) iain@estevax.uucp (Iain Lea) X+ ADD. Makefile open.c curses.c - added support for SNI mx300 & Sinix 5.22 X+ X+ 8) doug@ysu.edu (Doug Sewell) X+ ADD. added support for NCR Tower. X+ FIX. Makefile tin.h - applied supplied patch. X+ X+ 9) doug@ysu.edu (Doug Sewell) X+ BUG. If you have multiple users with the same uid but different home X+ directories, you want to use the one associated with their username. X+ FIX. misc.c - applied supplied patch. X+ X+ 10) cliff@demon.co.uk (Cliff Stanford) X+ BUG. .signature does not need to be appended to a cancelled article. X+ FIX. post.c - changed cancel_article() so that .sig is not appended. X+ X+ 11) hakanl@lulea.telesoft.se (Hakan Lennestal) X+ BUG. group.c feed.c save.c page.c - cleanup of setuid() calls. X+ FIX. applied the supplied patch. Thanx for the patch. X+ X+ 12) kak@hico2.westmark.com (Kris Kugel) X+ ADD. added support for 3b1 UNIXPC. X+ FIX. applied the supplied patch. X+ X+ 13) nms@jvd.msk.su (Nickolay Saukh) X+ BUG. Cleaned up all eight bit problems. Thanx for supplied patch. X+ FIX. applied supplied patch. X+ X+ 14) nms@jvd.msk.su (Nickolay Saukh) X+ BUG. It is strange having visual reader look for EDITOR in env. X+ FIX. Changed to look for VISUAL at first. Applied supplied patch. X+ X+ 15) nms@jvd.msk.su (Nickolay Saukh) X+ BUG. Cnews puts inews in public available directory. X+ FIX. Changed posting to look there, if no exact place defined. X+ Applied supplied patch. X+ X+ 16) nms@jvd.msk.su (Nickolay Saukh ) X+ BUG. Wrong date in From_ line written. It should be ctime() format. X+ FIX. Applied supplied patch. X+ X+ 17) imb@oasis.icl.co.uk (Ian Brown) X+ BUG. fgets in find_new_to() reads too much into small buffer. X+ FIX. find_new_to() - changed fgets() to use sizeof (buf). X+ X+ 18) hage@netcom.com (Carl Hage) X+ BUG. Cursor movement & inverse video are not enabled in a cmdtool X+ window under SunOS. Thanx for the supplied patch. X+ FIX. curses.c misc.c signal.c - applied the supplied patch. X+ X+ 19) bill@polygen.com (Bill Poitras) X+ ADD. After tagging an article the cursor should be moved down 1. X+ FIX. group.c - move cursor down 1 after tagging article. X+ X CHANGES tin v1.0 PL3 -> tin 1.0 PL4 X ----------------------------------- X X*************** X*** 9,17 **** X X 3) oelhaf@norisc.uucp (Reiner Oelhaf) X BUG. man page said to put add address in file ~/.tin/add_address but X! this does not work. X FIX. misc.c - changed ~/.tin/add_addr to ~/.tin/add_address X! X 4) pgf@cayman.com (Paul Fox) X ADD. add code to tin to recognize if progname was tin / rtin. If X rtin read news via NNTP (ie. like tin -r). X--- 103,111 ---- X X 3) oelhaf@norisc.uucp (Reiner Oelhaf) X BUG. man page said to put add address in file ~/.tin/add_address but X! this does not work. X FIX. misc.c - changed ~/.tin/add_addr to ~/.tin/add_address X! X 4) pgf@cayman.com (Paul Fox) X ADD. add code to tin to recognize if progname was tin / rtin. If X rtin read news via NNTP (ie. like tin -r). X*************** X*** 36,42 **** X ADD. art.c - added #ifdef SLOW_SCREEN_UPDATE to indexing routine. X X 3) otto@norisc.uucp (Otto Niesser) X! BUG. Beim Befehl 'y' wird bei nicht mehr vorhandenen Gruppen die X Meldung 'Group not in active file' ausgegeben. Die einzelnen X Meldungen sind zwar durch , nicht aber durch X voneinander getrennt, d.h. stehen durcheinander auf dem screen. X--- 130,136 ---- X ADD. art.c - added #ifdef SLOW_SCREEN_UPDATE to indexing routine. X X 3) otto@norisc.uucp (Otto Niesser) X! BUG. Beim Befehl 'y' wird bei nicht mehr vorhandenen Gruppen die X Meldung 'Group not in active file' ausgegeben. Die einzelnen X Meldungen sind zwar durch , nicht aber durch X voneinander getrennt, d.h. stehen durcheinander auf dem screen. X*************** X*** 44,54 **** X X 4) iain@estevax.uucp (Iain Lea) X BUG. While modifying feed.c I broke the auto-save articles routine. X! FIX. feed.c - fixed it (things happen when one meddles!) X X 5) hugh@slee01.sr1.ford.com (Hugh Fader) X BUG. It world help in installation to make the location of the file X! containing the nntp server name configurable with a define. X FIX. Makefile - added define NNTP_SERVER_FILE. X X 6) spear@druco.att.com (Steve Spearman) X--- 138,148 ---- X X 4) iain@estevax.uucp (Iain Lea) X BUG. While modifying feed.c I broke the auto-save articles routine. X! FIX. feed.c - fixed it (things happen when one meddles!) X X 5) hugh@slee01.sr1.ford.com (Hugh Fader) X BUG. It world help in installation to make the location of the file X! containing the nntp server name configurable with a define. X FIX. Makefile - added define NNTP_SERVER_FILE. X X 6) spear@druco.att.com (Steve Spearman) X*************** X*** 80,89 **** X X 12) arj@cam-orl.co.uk (Andy Jackson) X BUG. When started with -U update option and tin is suspended with X! ^Z and then restarted, the terminal I/O state gets changed and X! characters are echoed to the screen and missed by tin. X FIX. main.c - set update=FALSE in parent process after child is X! forked to update indexes in the background. X X 13) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson) X BUG. If the last line of an article is the last displayed line X--- 174,183 ---- X X 12) arj@cam-orl.co.uk (Andy Jackson) X BUG. When started with -U update option and tin is suspended with X! ^Z and then restarted, the terminal I/O state gets changed and X! characters are echoed to the screen and missed by tin. X FIX. main.c - set update=FALSE in parent process after child is X! forked to update indexes in the background. X X 13) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson) X BUG. If the last line of an article is the last displayed line X*************** X*** 108,120 **** X X 17) cc_paul@rcvie.co.at (Wolf N. Paul) X ADD. Could tin have a command line option which will cause it to X! simply terminate with 0 exit status if there is no new news. X FIX. art.c main.c - added -Z option to return exit 0 no news 2 news. X X 18) hakanl@lulea.telesoft.se (Hakan Lennestal) X BUG. Rn makes .oldnewsrc as a hard link to .newsrc. Tin copies X! .newsrc to .oldnewsrc, the file gets copied to itself, and X! the result is an empty file. X FIX. newsrc.c - added unlink() .oldnewsrc before backing up copy. X X CHANGES tin v1.0 PL1 -> tin 1.0 PL2 X--- 202,214 ---- X X 17) cc_paul@rcvie.co.at (Wolf N. Paul) X ADD. Could tin have a command line option which will cause it to X! simply terminate with 0 exit status if there is no new news. X FIX. art.c main.c - added -Z option to return exit 0 no news 2 news. X X 18) hakanl@lulea.telesoft.se (Hakan Lennestal) X BUG. Rn makes .oldnewsrc as a hard link to .newsrc. Tin copies X! .newsrc to .oldnewsrc, the file gets copied to itself, and X! the result is an empty file. X FIX. newsrc.c - added unlink() .oldnewsrc before backing up copy. X X CHANGES tin v1.0 PL1 -> tin 1.0 PL2 X*************** X*** 121,127 **** X ----------------------------------- X X 1) rsalz@bbn.com (Rich Salz) X! Modified man page to format correctly. X X 2) iain@estevax.uucp (Iain Lea) X BUG. if compiled on xenix DEFAULT_MAILBOX define is redefined later. X--- 215,221 ---- X ----------------------------------- X X 1) rsalz@bbn.com (Rich Salz) X! ADD. Modified man page to format correctly. Thanx for supplied patch. X X 2) iain@estevax.uucp (Iain Lea) X BUG. if compiled on xenix DEFAULT_MAILBOX define is redefined later. X*************** X*** 129,137 **** X X 3) uunet!sisd!jeh (Ed Hanway) X BUG. If chars are signed, hash_str() will calculate a bad hash X! value if it hits a char with the high bit set. X FIX. hashstr.c - changed hash routine to use unsigned char. X! X 4) iain@estevax.uucp (Iain Lea) X BUG. Always put cursor on last unread article in newsgroup. X FIX. select.c - set changed space_mode = FALSE to TRUE, so X--- 223,231 ---- X X 3) uunet!sisd!jeh (Ed Hanway) X BUG. If chars are signed, hash_str() will calculate a bad hash X! value if it hits a char with the high bit set. X FIX. hashstr.c - changed hash routine to use unsigned char. X! X 4) iain@estevax.uucp (Iain Lea) X BUG. Always put cursor on last unread article in newsgroup. X FIX. select.c - set changed space_mode = FALSE to TRUE, so X*************** X*** 146,163 **** X at Saber C. X X 6) rdb@oasis.icl.co.uk (Roger Binns) X! BUG. I would prefer to press save, and then be presented with X! choices of post processing. If you can't figure out which X! it is, offer the choice from the 'M' menu as default. X FIX. feed.c - asks for processing type when saving article. X X 7) rdb@oasis.icl.co.uk (Roger Binns) X! BUG. free_all_arrays() called inside signal_handler() causes errors. X! FIX. signal.c - deleted free_all_arrays() from signal_handler(). X! X 8) rdb@oasis.icl.co.uk (Roger Binns) X! BUG. If the active file is empty, abort (I just learnt the hard X! way) - core dumps and other silly things happen. X FIX. misc.c - changed read_active() to exit if no newsgroups. X X 9) cliff@norisc.uucp (Clifford Luke) X--- 240,257 ---- X at Saber C. X X 6) rdb@oasis.icl.co.uk (Roger Binns) X! BUG. I would prefer to press save, and then be presented with X! choices of post processing. If you can't figure out which X! it is, offer the choice from the 'M' menu as default. X FIX. feed.c - asks for processing type when saving article. X X 7) rdb@oasis.icl.co.uk (Roger Binns) X! BUG. free_all_arrays() called inside signal_handler() causes errors. X! FIX. signal.c - deleted free_all_arrays() from signal_handler(). X! X 8) rdb@oasis.icl.co.uk (Roger Binns) X! BUG. If the active file is empty, abort (I just learnt the hard X! way) - core dumps and other silly things happen. X FIX. misc.c - changed read_active() to exit if no newsgroups. X X 9) cliff@norisc.uucp (Clifford Luke) X*************** X*** 165,175 **** X FIX. memory.c signal.c - modified to resize screen[] array. X X 10) rdb@oasis.icl.co.uk (Roger Binns) X! ADD. backup_newsrc() copies .newsrc to .oldnewsrc for safety. X X 11) iain@estevax.uucp (Iain Lea) X BUG. follow-ups rejected by inews when to many '>' are in text. X! FIX. tin.h - added DEFAULT_COMMENT to let user specify comment X string (default is ": "). X X 12) nms@jvd.msk.su (Nickolay Saukh) X--- 259,269 ---- X FIX. memory.c signal.c - modified to resize screen[] array. X X 10) rdb@oasis.icl.co.uk (Roger Binns) X! ADD. backup_newsrc() copies .newsrc to .oldnewsrc for safety. X X 11) iain@estevax.uucp (Iain Lea) X BUG. follow-ups rejected by inews when to many '>' are in text. X! FIX. tin.h - added DEFAULT_COMMENT to let user specify comment X string (default is ": "). X X 12) nms@jvd.msk.su (Nickolay Saukh) X*************** X*** 177,183 **** X FIX. post.c - no reason at all. Fixed it - must have been asleep?! X X 13) nms@jvd.msk.su (Nickolay Saukh) X! BUG. There should be a way to inform user about created newsgroups X since last session. X FIX. misc.c - added notify_groups() to check for new newsgroups. Use X -n option to check for groups on starting tin. A tad sloooooww. X--- 271,277 ---- X FIX. post.c - no reason at all. Fixed it - must have been asleep?! X X 13) nms@jvd.msk.su (Nickolay Saukh) X! BUG. There should be a way to inform user about created newsgroups X since last session. X FIX. misc.c - added notify_groups() to check for new newsgroups. Use X -n option to check for groups on starting tin. A tad sloooooww. X*************** X*** 228,235 **** X 22) iain@estevax.uucp (Iain Lea) X BUG. Hangs when running under a xterm window that is resized. X FIX. signal.c - set_win_size() changed so that tin will resize X! to the new xterm window size. Allows big displays of info X! when run on a window system. X X 23) molloy@icd.teradyne.com (Philip E. Molloy) X BUG. If there is no file called ~/.tin/posted, then the first X--- 322,329 ---- X 22) iain@estevax.uucp (Iain Lea) X BUG. Hangs when running under a xterm window that is resized. X FIX. signal.c - set_win_size() changed so that tin will resize X! to the new xterm window size. Allows big displays of info X! when run on a window system. X X 23) molloy@icd.teradyne.com (Philip E. Molloy) X BUG. If there is no file called ~/.tin/posted, then the first X*************** X*** 262,269 **** X X 29) cliff@demon.co.uk (Cliff Stanford) X BUG. Default mailer rmail does not work on SCO 3.2.2 & small fixes to X! Makefile. Thanx for the patches. X! FIX. Changed rmail to sendmail -t for default mailer. Only works X if you have got tcp-ip package installed. X X 30) iain@estevax.uucp (Iain Lea) X--- 356,363 ---- X X 29) cliff@demon.co.uk (Cliff Stanford) X BUG. Default mailer rmail does not work on SCO 3.2.2 & small fixes to X! Makefile. Thanx for the patches. X! FIX. Changed rmail to sendmail -t for default mailer. Only works X if you have got tcp-ip package installed. X X 30) iain@estevax.uucp (Iain Lea) X*************** X*** 280,286 **** X X 33) kos@nd.se (Karl-Olov Serrander) X BUG. SIGSEGV happens when debug routines are used. X! FIX. debug.c - applied supplied patch. X X 34) cliff@demon.co.uk (Cliff Stanford) X ADD. main.c - added -U option to fork a 'tin -u' and update index X--- 374,380 ---- X X 33) kos@nd.se (Karl-Olov Serrander) X BUG. SIGSEGV happens when debug routines are used. X! FIX. debug.c - applied supplied patch. X X 34) cliff@demon.co.uk (Cliff Stanford) X ADD. main.c - added -U option to fork a 'tin -u' and update index X*************** X*** 313,337 **** X FIX. tin.h - Added #ifdef M_XENIX #define DEFAULT_EDITOR /bin/vi #endif X X 5) rsalz@bbn.com (Rich Salz) X! Contributed newer version (June 91) of wildmat.c & wildmat.3 routines X X 6) v.hoang@att.com (Viet Hoang) X BUG. defined in tin.h and open.c X! FIX. open.c - deleted X X 7) v.hoang@att.com (Viet Hoang) X! BUG. The entry for sysv in Makefile uses double backslash when it X! should only be single backslash. X FIX. Makefile - changed \\ to \ in sysv entry. X X 8) kos@nd.se (Karl-Olov Serrander) X BUG. If tin is suid news, it is not possible to create .tin and X! .tin/.tinrc when you use command M. X FIX. rcfile.c - write_rcfile() now uses setuid() & setgid() routines. X X 9) iain@estevax.uucp (Iain Lea) X BUG. If tin is suid news, it has problems creating files in users home X! dir. X FIX. kill.c misc.c post.c - added setuid() & setgid() routines. X X 10) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson) X--- 407,431 ---- X FIX. tin.h - Added #ifdef M_XENIX #define DEFAULT_EDITOR /bin/vi #endif X X 5) rsalz@bbn.com (Rich Salz) X! Contributed newer version (June 91) of wildmat.c & wildmat.3 routines X X 6) v.hoang@att.com (Viet Hoang) X BUG. defined in tin.h and open.c X! FIX. open.c - deleted X X 7) v.hoang@att.com (Viet Hoang) X! BUG. The entry for sysv in Makefile uses double backslash when it X! should only be single backslash. X FIX. Makefile - changed \\ to \ in sysv entry. X X 8) kos@nd.se (Karl-Olov Serrander) X BUG. If tin is suid news, it is not possible to create .tin and X! .tin/.tinrc when you use command M. X FIX. rcfile.c - write_rcfile() now uses setuid() & setgid() routines. X X 9) iain@estevax.uucp (Iain Lea) X BUG. If tin is suid news, it has problems creating files in users home X! dir. X FIX. kill.c misc.c post.c - added setuid() & setgid() routines. X X 10) unido!asd.tds.philips.se!kko (Karl-Koenig Koenigsson) X*************** X*** 403,409 **** X X 23) iain@estevax.uucp (Iain Lea) X BUG. mail_setup () will not work if MAIL env varaible not set. X! FIX. mail.c - mail_setup() now checks mailbox path as well. X X 24) crs@siesoft.co.uk (Chris Smith) X BUG. help screens are hard coded for 25 line terminals so if X--- 497,503 ---- X X 23) iain@estevax.uucp (Iain Lea) X BUG. mail_setup () will not work if MAIL env varaible not set. X! FIX. mail.c - mail_setup() now checks mailbox path as well. X X 24) crs@siesoft.co.uk (Chris Smith) X BUG. help screens are hard coded for 25 line terminals so if X*************** X*** 411,420 **** X FIX. help.c - show_help_screen() rewrote to use maximum lines. X X 25) bernd@norisc.uucp (Bernd Schwerin) X! BUG. Save operation doesnt ask for a base filename when saving X tagged articles. After saving the tagged articles the X pathnames are .01, .02 etc. X! FIX. feed.c - feed_articles () removed if () to allow tagged files X sequence to ask for filename to save to. X X CHANGES tass v3.2 -> tin v1.00 X--- 505,514 ---- X FIX. help.c - show_help_screen() rewrote to use maximum lines. X X 25) bernd@norisc.uucp (Bernd Schwerin) X! BUG. Save operation doesnt ask for a base filename when saving X tagged articles. After saving the tagged articles the X pathnames are .01, .02 etc. X! FIX. feed.c - feed_articles () removed if () to allow tagged files X sequence to ask for filename to save to. X X CHANGES tass v3.2 -> tin v1.00 Xdiff -rcs ../104/MANIFEST ./MANIFEST X*** ../104/MANIFEST Wed Oct 2 19:49:03 1991 X--- ./MANIFEST Wed Oct 16 20:10:41 1991 X*************** X*** 1,40 **** X! MANIFEST for tin newsreader (Wed Oct 2 19:49:00 MET 1991) X ---------------------------------------------------------- X! 4609 README X! 19208 CHANGES X! 2347 TODO X 530 UPDATE_INDEX X! 9247 Makefile X! 27771 tin.1 X 2247 wildmat.3 X! 36873 tin.nrf X! 9785 tin.h X! 9432 lang.h X 3720 nntp.h X! 17299 proto.h X 21 patchlevel.h X! 28457 art.c X! 6043 curses.c X 2631 debug.c X! 11964 feed.c X! 19344 group.c X! 2829 hashstr.c X! 5149 help.c X! 10484 kill.c X! 17723 lang.c X! 8373 main.c X 6239 memory.c X! 21726 misc.c X 19741 newsrc.c X! 6825 open.c X! 24865 page.c X! 17675 post.c X! 4469 prompt.c X! 17871 rcfile.c X! 19595 save.c X! 2168 screen.c X! 7808 search.c X! 18951 select.c X! 7531 signal.c X 4749 wildmat.c X! 436299 total X--- 1,40 ---- X! MANIFEST for tin newsreader (Wed Oct 16 20:10:39 MET 1991) X ---------------------------------------------------------- X! 5316 README X! 23382 CHANGES X! 2481 TODO X 530 UPDATE_INDEX X! 10557 Makefile X! 27922 tin.1 X 2247 wildmat.3 X! 37038 tin.nrf X! 10177 tin.h X! 9798 lang.h X 3720 nntp.h X! 17521 proto.h X 21 patchlevel.h X! 28321 art.c X! 6759 curses.c X 2631 debug.c X! 11855 feed.c X! 19765 group.c X! 2620 hashstr.c X! 5227 help.c X! 10479 kill.c X! 18262 lang.c X! 8503 main.c X 6239 memory.c X! 22027 misc.c X 19741 newsrc.c X! 7000 open.c X! 25404 page.c X! 17638 post.c X! 4687 prompt.c X! 17897 rcfile.c X! 19687 save.c X! 2185 screen.c X! 7811 search.c X! 19137 select.c X! 7795 signal.c X 4749 wildmat.c X! 447129 total Xdiff -rcs ../104/Makefile ./Makefile X*** ../104/Makefile Wed Oct 2 19:48:41 1991 X--- ./Makefile Thu Oct 17 19:22:45 1991 X*************** X*** 70,80 **** X--- 70,85 ---- X EXE=tin X X BINDIR = /usr/local/bin X+ MANDIR = /usr/man/man1 X #BINDIR = /piez/iain/bin X+ #BINDIR = /usr0g/iain/bin X+ #MANDIR = . X X STRIP = strip X ROFF = + drf -F Helvetica -man3 X PRINT= -Pps0 X+ BASE_VER = ../104 X+ PATCH_VER = 05 X X HFILES = tin.h lang.h nntp.h proto.h patchlevel.h X X*************** X*** 99,107 **** X--- 104,117 ---- X @echo " make sysv (SysV)" X @echo " make sysvr4 (SysV R4)" X @echo " make sco (SCO Unix)" X+ @echo " make aix (IBM AIX)" X @echo " make xenix (Xenix 386)" X+ @echo " make sinix (SNI SysV)" X+ @echo " make tower (NCR Tower)" X X # For Berkeley systems: X+ # NNTPLIB=clientlib.o \ X+ # X bsd: X @echo "Compiling for BSD/Ultrix..." X @$(MAKE) CFLAGS='-c -O -DBSD -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X*************** X*** 109,125 **** X EXE=tin linkit X X # For System V: X sysv: X @echo "Compiling for System V..." X @$(MAKE) CFLAGS='-c -O -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X- NNTPLIB="clientlib.o" \ X- NETLIBS="-lnet -lnsl_s" \ X LIBS="-lcurses -ltermcap" \ X EXE=tin linkit X X # For System V Release 4: X! # NNTPLIB="./nntp/clientlib.o" \ X # NETLIBS="-lnsl -lsocket" \ X sysvr4: X @echo "Compiling for System V Release 4..." X @$(MAKE) CFLAGS='-c -O -DPOSIX_JOB_CONTROL -DUSE_INVERSE_HACK -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X--- 119,146 ---- X EXE=tin linkit X X # For System V: X+ # NNTPLIB=clientlib.o \ X+ # NETLIBS="-lnet -lnsl_s" \ X+ # X sysv: X @echo "Compiling for System V..." X @$(MAKE) CFLAGS='-c -O -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X LIBS="-lcurses -ltermcap" \ X EXE=tin linkit X X+ # For IBM AIX: X+ # NNTPLIB=clientlib.o \ X+ # X+ aix: X+ @echo "Compiling for AIX..." X+ @$(MAKE) CFLAGS='-c -O -DSYSV -DRS6000 -DUSE_LONG_FILENAMES -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X+ LIBS="-lcurses -ltermcap" \ X+ EXE=tin linkit X+ X # For System V Release 4: X! # NNTPLIB=clientlib.o \ X # NETLIBS="-lnsl -lsocket" \ X+ # X sysvr4: X @echo "Compiling for System V Release 4..." X @$(MAKE) CFLAGS='-c -O -DPOSIX_JOB_CONTROL -DUSE_INVERSE_HACK -DAUTO_RESIZE -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X*************** X*** 127,132 **** X--- 148,156 ---- X EXE=tin linkit X X # For SCO Unix: X+ # NNTPLIB=clientlib.o \ X+ # NETLIBS="-lnsl_s -lsocket" \ X+ # X sco: X @echo "Compiling for SCO Unix..." X @$(MAKE) CFLAGS='-c -O -UM_XENIX -DUSE_INVERSE_HACK -DAUTO_RESIZE -DLIBDIR="\"/usr/lib/news\"" -DSPOOLDIR="\"/usr/spool/news\""' \ X*************** X*** 134,141 **** X EXE=tin linkit X X # For Xenix 386: X! # NNTPLIB=clientlib.o X! # NETLIBS="-lsocket" X xenix: X @echo "Compiling for Xenix 386..." X @$(MAKE) CFLAGS='-c -Zi -DSYSV -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \ X--- 158,166 ---- X EXE=tin linkit X X # For Xenix 386: X! # NNTPLIB=clientlib.o \ X! # NETLIBS="-lsocket" \ X! # X xenix: X @echo "Compiling for Xenix 386..." X @$(MAKE) CFLAGS='-c -Zi -DSYSV -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \ X*************** X*** 142,164 **** X LIBS="-lcurses -ltinfo -lx" \ X LFLAGS=-Zi EXE=tin linkit X X # SITE SPECIFIC - IGNORE X norisc: X @echo "Compiling for NORISC with NNTP..." X! @$(MAKE) CFLAGS='-c -g -DBSD -DUSE_NNTP -DAUTO_RESIZE -DLIBDIR=\"/news/lib\" -DSPOOLDIR=\"/news/spool\"' \ X NNTPLIB=/news/nntp/clientlib.o \ X LIBS="-lcurses -ltermcap" \ X EXE=tin linkit X X # SITE SPECIFIC - IGNORE X- estevax: X- @echo "Compiling for ESTEVAX with NNTP..." X- @$(MAKE) CFLAGS='-c -O -DBSD -DUSE_NNTP -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X- NNTPLIB=/others/mtz/bnews2/NNTP/common/clientlib.o \ X- LIBS="-lcurses -ltermcap" \ X- EXE=tin linkit X- X- # SITE SPECIFIC - IGNORE X kommu: X @echo "Compiling for KOMMU with NNTP..." X @$(MAKE) CFLAGS='-c -O -UM_XENIX -DUSE_INVERSE_HACK -DAUTO_RESIZE -DUSE_NNTP -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \ X--- 167,201 ---- X LIBS="-lcurses -ltinfo -lx" \ X LFLAGS=-Zi EXE=tin linkit X X+ # For SNI Sinix: X+ # NNTPLIB=clientlib.o \ X+ # NETLIBS="-lsocket" \ X+ # X+ sinix: X+ @echo "Compiling for SNI Sinix..." X+ @$(MAKE) CFLAGS='-c -O -DBSD -DSINIX -DUSE_MKDIR -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X+ LIBS="-lcurses" \ X+ EXE=tin linkit X+ X+ # For NCR Tower: X+ # NNTPLIB=clientlib.o \ X+ # NETLIBS="-lnet -lnsl_s" \ X+ # X+ tower: X+ @echo "Compiling for NCR Tower..." X+ @$(MAKE) CFLAGS='-c -O -DSYSV -DNCR -DISTRING -DLIBDIR=\"/usr/lib/news\" -DSPOOLDIR=\"/usr/spool/news\"' \ X+ LIBS="-lcurses -ltermcap" \ X+ EXE=tin linkit X+ X # SITE SPECIFIC - IGNORE X norisc: X @echo "Compiling for NORISC with NNTP..." X! @$(MAKE) CFLAGS='-c -g -DREAD_CHAR_HACK -DBSD -DUSE_NNTP -DAUTO_RESIZE -DLIBDIR=\"/news/lib\" -DSPOOLDIR=\"/news/spool\"' \ X NNTPLIB=/news/nntp/clientlib.o \ X LIBS="-lcurses -ltermcap" \ X EXE=tin linkit X X # SITE SPECIFIC - IGNORE X kommu: X @echo "Compiling for KOMMU with NNTP..." X @$(MAKE) CFLAGS='-c -O -UM_XENIX -DUSE_INVERSE_HACK -DAUTO_RESIZE -DUSE_NNTP -DLIBDIR="\\"/usr/lib/news\\"" -DSPOOLDIR="\\"/usr/spool/news\\""' \ X*************** X*** 180,190 **** X @ln $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X @chmod 755 $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X @ls -l $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X X install_setuid: X @echo "Installing SETUID $(EXE)..." X @$(STRIP) $(EXE) X! @mv $(EXE) $(BINDIR) X @chown news $(BINDIR)/$(EXE) X @-rm $(BINDIR)/r$(EXE) X @ln $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X--- 217,228 ---- X @ln $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X @chmod 755 $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X @ls -l $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X+ @cp $(EXE).1 $(MANDIR) X X install_setuid: X @echo "Installing SETUID $(EXE)..." X @$(STRIP) $(EXE) X! @-mv $(EXE) $(BINDIR) X @chown news $(BINDIR)/$(EXE) X @-rm $(BINDIR)/r$(EXE) X @ln $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X*************** X*** 191,199 **** X--- 229,240 ---- X @su news -c "chmod 4755 $(BINDIR)/$(EXE)" X @su news -c "chmod 755 $(BINDIR)/r$(EXE)" X @ls -l $(BINDIR)/$(EXE) $(BINDIR)/r$(EXE) X+ @cp $(EXE).1 $(MANDIR) X X proto: X @echo "Generating function prototypes for proto.h..." X+ # @cextract -DSIGTSTP -DSIGWINCH $(CFILES) > PROTO.H X+ # @-mv PROTO.H proto.h X @echo "#ifdef __STDC__" > PROTO.H X @echo " " >> PROTO.H X @cproto $(CFILES) >> PROTO.H X*************** X*** 205,233 **** X @echo "#endif" >> PROTO.H X @-mv PROTO.H proto.h X X! shar: X! @echo "Generating shell archive..." X @echo "Creating nroff man page..." X @nroff -man $(EXE).1 > $(EXE).nrf X @echo "Creating MANIFEST..." X @echo "MANIFEST for tin newsreader (`date`)" > MANIFEST X @echo "----------------------------------------------------------" >> MANIFEST X @wc -c README CHANGES TODO UPDATE_INDEX Makefile *.[13] $(EXE).nrf $(HFILES) $(CFILES) >> MANIFEST X @shar -a -n $(EXE)1.02 -s iain@estevax.uucp -L50 -o ../$(EXE).shar $(SUPPORT) $(CFILES) $(HFILES) X X uuencode: X! make tar X @echo "Uuencoding $(EXE).tar.Z..." X @uuencode $(EXE).tar.Z $(EXE).tar.Z > $(EXE).tar.Z.uue X @ls -l $(EXE).tar.Z.uue X X diff: X! @echo "Generating diffs against 102 (results in $(EXE).diff)..." X @-mv -f $(EXE).diff $(EXE).diff- X! @diff -rcs 102 103 > $(EXE).diff X X tar: X! @echo "Archiving files to $(EXE).tar..." X @-rm $(EXE).tar $(EXE).tar.Z > /dev/null 2>&1 X @tar cvf $(EXE).tar $(SUPPORT) $(CFILES) $(HFILES) X @echo "Compressing $(EXE).tar..." X--- 246,288 ---- X @echo "#endif" >> PROTO.H X @-mv PROTO.H proto.h X X! nroff: X @echo "Creating nroff man page..." X @nroff -man $(EXE).1 > $(EXE).nrf X+ X+ manifest: X @echo "Creating MANIFEST..." X @echo "MANIFEST for tin newsreader (`date`)" > MANIFEST X @echo "----------------------------------------------------------" >> MANIFEST X @wc -c README CHANGES TODO UPDATE_INDEX Makefile *.[13] $(EXE).nrf $(HFILES) $(CFILES) >> MANIFEST X+ X+ shar: X+ @echo "Generating shell archive..." X+ @make nroff X+ @make manifest X @shar -a -n $(EXE)1.02 -s iain@estevax.uucp -L50 -o ../$(EXE).shar $(SUPPORT) $(CFILES) $(HFILES) X X uuencode: X! @make tar X @echo "Uuencoding $(EXE).tar.Z..." X @uuencode $(EXE).tar.Z $(EXE).tar.Z > $(EXE).tar.Z.uue X @ls -l $(EXE).tar.Z.uue X X diff: X! @echo "Generating diffs against $(BASE_VER)..." X @-mv -f $(EXE).diff $(EXE).diff- X! @-diff -rcs $(BASE_VER) . > $(EXE).diff X! @ls -l $(EXE).diff X X+ patch: X+ @make diff X+ @echo "Generating patch against $(BASE_VER)..." X+ @-mv $(EXE).diff $(EXE).patch$(PATCH_VER) X+ @shar -a -n $(EXE) -s iain@estevax.uucp -L50 -o patch$(PATCH_VER).shar $(EXE).patch$(PATCH_VER) X+ @ls -l patch$(PATCH_VER).shar* X+ X tar: X! @echo "Generating compressed tar file..." X @-rm $(EXE).tar $(EXE).tar.Z > /dev/null 2>&1 X @tar cvf $(EXE).tar $(SUPPORT) $(CFILES) $(HFILES) X @echo "Compressing $(EXE).tar..." X*************** X*** 235,241 **** X @ls -l $(EXE).tar.Z X X zoo: X! @echo "Archiving files to $(EXE).zoo..." X @-rm $(EXE).zoo > /dev/null 2>&1 X @zoo ah $(EXE).zoo $(SUPPORT) $(CFILES) $(HFILES) X @ls -l $(EXE).zoo X--- 290,296 ---- X @ls -l $(EXE).tar.Z X X zoo: X! @echo "Generating zoo archive file..." X @-rm $(EXE).zoo > /dev/null 2>&1 X @zoo ah $(EXE).zoo $(SUPPORT) $(CFILES) $(HFILES) X @ls -l $(EXE).zoo X*************** X*** 251,261 **** X X clean: X @echo "Cleaning..." X! @-'rm' -rf *.o #* $(EXE).diff* X X clobber: X @echo "Clobbering..." X! @-'rm' -rf *.o #* tags $(EXE) $(EXE).diff* X X cflow: X @echo "Creating cflow for $(EXE)..." X--- 306,316 ---- X X clean: X @echo "Cleaning..." X! @-'rm' -rf $(OBJECTS) #* $(EXE).diff* X X clobber: X @echo "Clobbering..." X! @-'rm' -rf $(OBJECTS) '#*' tags $(EXE) $(EXE).diff* patch.shar* X X cflow: X @echo "Creating cflow for $(EXE)..." X*************** X*** 266,272 **** X @$(ROFF) $(PRINT) $(EXE).1 X X print: X! @for FILE in $(HFILES) $(CFILES); do \ X echo "Printing $$FILE to $(PRINT)..."; \ X expand -4 $$FILE | enscript -2r -h -G $(PRINT) -b $$FILE; \ X done X--- 321,327 ---- X @$(ROFF) $(PRINT) $(EXE).1 X X print: X! @for FILE in $(HFILES) $(CFILES) $(SUPPORT); do \ X echo "Printing $$FILE to $(PRINT)..."; \ X expand -4 $$FILE | enscript -2r -h -G $(PRINT) -b $$FILE; \ X done Xdiff -rcs ../104/README ./README X*** ../104/README Wed Oct 2 19:44:00 1991 X--- ./README Wed Oct 16 19:57:54 1991 X*************** X*** 1,13 **** X! This is version 1.0 PL4 (patchlevel 4) of the tin newsreader. X X! Major improvements over tin 1.0 PL3 are the following: X X! o ESC key now aborts most operations X X! o added rtin link to tin. rtin aliases to tin -r to read news via NNTP X X! o added speedup to screen display for slow baud rate terminals. X X For more bugs fixes, other changes & additions read the CHANGES & TODO files. X X I am still looking for people to send me ideas/comments & bug reports. X--- 1,26 ---- X! This is version 1.0 PL5 (patchlevel 5) of the tin newsreader. X X! NOTE: Due to a number of things (i.e., department change, lose of X! main net connection) this patch has not been as heavily tested X! on different machines and OS's. On my main development machine X! everything in this patch works OK. Your mileage may vary. X! Therefore please make a copy of your PL4 code before applying X! the following patch. X X! Major improvements over tin 1.0 PL4 are the following: X X! o Added support for IBM RS/6000, NCR Tower, AT&T UNIXPC & SNI Sinix. X X! o Fixed -U option when reading news via NNTP. X X+ o Fixed highlighted bar operation on some terminals. X+ X+ o Fixed cursor movement & inverse video in cmdtool window on SunOS. X+ X+ o Fixed setuid() & setgid() problems. X+ X+ o Fixed handling of 8 bit problems. X+ X For more bugs fixes, other changes & additions read the CHANGES & TODO files. X X I am still looking for people to send me ideas/comments & bug reports. X*************** X*** 53,60 **** X 8500 Nuernberg 90 X Germany. X Phone. +49-911-331963 (home) X! Phone. +49-911-895-3853 (work until Sep 30) X! Phone. +49-911-3089-407 (work from Oct 1) X Email. iain@estevax.uucp (will only be reading mailbox weekly) X X Built & used on the following machines X--- 66,72 ---- X 8500 Nuernberg 90 X Germany. X Phone. +49-911-331963 (home) X! Phone. +49-911-3089-407 (work) X Email. iain@estevax.uucp (will only be reading mailbox weekly) X X Built & used on the following machines X*************** X*** 67,73 **** X 6) 386 PC & ISC SysVR3.2 X 7) ICL DRS6000 (sparc) & SysVR4.0 X 8) Sun 3/4/IPC/SS1/SS2 & SunOS 4.0.3/4.1/4.1.1 X! 9) Intel303 & SysVR4 X 10) DEC 5000 & Ultrix 4.1 X 11) Sony News & SysVR4 / BSD 4.3 X 12) Atari STe & Minix 1.5.10.3b X--- 79,85 ---- X 6) 386 PC & ISC SysVR3.2 X 7) ICL DRS6000 (sparc) & SysVR4.0 X 8) Sun 3/4/IPC/SS1/SS2 & SunOS 4.0.3/4.1/4.1.1 X! 9) Intel303 & SysVR4 X 10) DEC 5000 & Ultrix 4.1 X 11) Sony News & SysVR4 / BSD 4.3 X 12) Atari STe & Minix 1.5.10.3b X*************** X*** 74,79 **** X--- 86,95 ---- X 13) Apricot VX/FT & SCO 3.2.2 X 14) DIAB DS90 & D-NIX 5.3 X 15) Amdahl & SysVR3 X+ 16) HP 9000/845 & HP-UX 7.0 X+ 17) IBM RS/6000 & AIX 3.1.5 X+ 18) SNI MX300 & Sinix 5.22 X+ 19) NCR Tower & SysV X X Building Tin X ------------ X*************** X*** 99,112 **** X Rich Salz - wildmat regex pattern matching routine X Chris Smith - multi-part uudecode routine X X! I wish to thank the following people for bug reports/patchs/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--- 115,133 ---- X Rich Salz - wildmat regex pattern matching routine X Chris Smith - multi-part uudecode routine X 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! 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 Xdiff -rcs ../104/TODO ./TODO X*** ../104/TODO Wed Oct 2 19:40:10 1991 X--- ./TODO Wed Oct 16 19:58:46 1991 X*************** X*** 23,28 **** X--- 23,34 ---- X X ADD FEATURES X ------------ X+ o Add longer line to parse_menu() because default takes up a lot of X+ the line. X+ X+ o Add code to reread Subject: & To: line before posting. Make X+ Find_new_to() more flexible (ie. func("Subject:", string) ). X+ X o Add 2nd page to 'M' Options menu and put on the options: X 1) ask user if to update read groups on exits (al a vn) X 2) thread/unthread groups (read from ~/.tin/unthread) X*************** X*** 39,46 **** X X o Add 'C' command at group level to catchup present group and X enter next group with unread news in it. X- X- o Add code to 'N' at group level so it goes to next group with unread news. X X o Add 'H' context senstive level help screens X X--- 45,50 ---- XFiles ../104/UPDATE_INDEX and ./UPDATE_INDEX are identical Xdiff -rcs ../104/art.c ./art.c X*** ../104/art.c Wed Oct 2 19:29:27 1991 X--- ./art.c Thu Oct 10 20:10:50 1991 X*************** X*** 435,441 **** X X while (1) { X for (ptrline = ptr; *ptr && *ptr != '\n'; ptr++) { X! if (((*ptr) & 0x7F) < 32) { X *ptr = ' '; X } X } X--- 435,441 ---- X X while (1) { X for (ptrline = ptr; *ptr && *ptr != '\n'; ptr++) { X! if (((*ptr) & 0xFF) < ' ') { X *ptr = ' '; X } X } X*************** X*** 443,464 **** X *ptr++ = '\0'; X lineno++; X X! if (! got_from && strncmp(ptrline, "From: ", 6) == 0) { X! my_strncpy(buf2, ptrline+6, HEADER_LEN); X h->from = hash_str (buf2); X got_from = TRUE; X! } else if (! got_subject && strncmp(ptrline, "Subject: ", 9) == 0) { X! my_strncpy (buf2, ptrline+9, HEADER_LEN); X s = eat_re (buf2); X h->subject = hash_str (eat_re (s)); X got_subject = TRUE; X! } else if (! got_date && strncmp(ptrline, "Date: ", 6) == 0) { X! my_strncpy (buf2, ptrline+6, HEADER_LEN); X! parse_date (buf2 ,h->date); X got_date = TRUE; X! } else if (strncmp(ptrline, "Archive-name: ", 14) == 0) { X! if ((s = (char *) strchr (ptrline+14, '/')) != NULL) { X! my_strncpy(buf2, ptrline+14, HEADER_LEN); X if (strncmp (s+1,"part",4) == 0 || X strncmp (s+1,"Part",4) == 0) { X h->part = str_dup (s+5); X--- 443,460 ---- X *ptr++ = '\0'; X lineno++; X X! if (! got_from && match_header(ptrline, "From", buf2, HEADER_LEN)) { X h->from = hash_str (buf2); X got_from = TRUE; X! } else if (! got_subject && match_header(ptrline, "Subject", buf2, HEADER_LEN)) { X s = eat_re (buf2); X h->subject = hash_str (eat_re (s)); X got_subject = TRUE; X! } else if (! got_date && match_header(ptrline, "Date", buf2, HEADER_LEN)) { X! parse_date (buf2, h->date); X got_date = TRUE; X! } else if (match_header(ptrline, "Archive-name", buf2, HEADER_LEN)) { X! if ((s = (char *) strchr (buf2, '/')) != NULL) { X if (strncmp (s+1,"part",4) == 0 || X strncmp (s+1,"Part",4) == 0) { X h->part = str_dup (s+5); X*************** X*** 995,1005 **** X switch (check_start_save) { X case CHECK_ANY_NEWS: X if (verbose) { X! wait_message ("Checking for news..."); X } X break; X case START_ANY_NEWS: X! wait_message ("Checking for news..."); X break; X case SAVE_ANY_NEWS: X sprintf (log, "%s/log", rcdir); X--- 991,1001 ---- X switch (check_start_save) { X case CHECK_ANY_NEWS: X if (verbose) { X! wait_message (txt_checking_for_news); X } X break; X case START_ANY_NEWS: X! wait_message (txt_checking_for_news); X break; X case SAVE_ANY_NEWS: X sprintf (log, "%s/log", rcdir); X*************** X*** 1067,1076 **** X continue; X } X X! open_note (arts[j].artnum, group_path); X fseek (note_fp, 0L, 0); X copy_fp (note_fp, fp, (char *) 0); X! note_cleanup (); X fclose (fp); X break; X } X--- 1063,1072 ---- X continue; X } X X! art_open (arts[j].artnum, group_path); X fseek (note_fp, 0L, 0); X copy_fp (note_fp, fp, (char *) 0); X! art_close (); X fclose (fp); X break; X } X*************** X*** 1101,1113 **** X return 2; X } else { X if (verbose) { X! wait_message ("\nThere is no news\n"); X } X return 0; X } X /* NOTREACHED */ X case START_ANY_NEWS: X! wait_message ("\nThere is no news\n"); X return -1; X /* NOTREACHED */ X case SAVE_ANY_NEWS: X--- 1097,1109 ---- X return 2; X } else { X if (verbose) { X! wait_message (txt_there_is_no_news); X } X return 0; X } X /* NOTREACHED */ X case START_ANY_NEWS: X! wait_message (txt_there_is_no_news); X return -1; X /* NOTREACHED */ X case SAVE_ANY_NEWS: X*************** X*** 1154,1160 **** X X if (killed) { X if (! update) { X! wait_message ("Killing..."); X } X index_file_killed = TRUE; X setup_base (group, group_path); X--- 1150,1156 ---- X X if (killed) { X if (! update) { X! wait_message (txt_killing_arts); X } X index_file_killed = TRUE; X setup_base (group, group_path); X*************** X*** 1162,1168 **** X load_index (); X } else { X if (! update) { X! wait_message ("Unkilling..."); X } X if (local_index) { X find_local_index (group); X--- 1158,1164 ---- X load_index (); X } else { X if (! update) { X! wait_message (txt_unkilling_arts); X } X if (local_index) { X find_local_index (group); Xdiff -rcs ../104/curses.c ./curses.c X*** ../104/curses.c Mon Sep 30 19:24:23 1991 X--- ./curses.c Tue Oct 15 09:39:34 1991 X*************** X*** 1,22 **** X /* X! * curses.c X */ X- X- /* X- * This is a screen management library borrowed with permission from the X- * Elm mail system (a great mailer--I highly recommend it!). X- * X- * I've hacked this library to only provide what Tass needs. X- * X- * Original copyright follows: X- */ X X- /******************************************************************************* X- * The Elm Mail System - $Revision: 2.1 $ $State: Exp $ X- * X- * Copyright (c) 1986 Dave Taylor X- ******************************************************************************/ X- X #include X #include X #include X--- 1,17 ---- X /* X! * Project : tin - a visual threaded usenet newsreader X! * Module : curses.c X! * Author : Dave Taylor X! * Created : ??-??-86 X! * Updated : 14-10-91 X! * Release : 2.1 X! * Notes : This is a screen management library borrowed with permission X! * from the Elm mail system (a great mailer--I highly recommend X! * it!).This library was hacked to provide what tin needs. X! * Copyright : Copyright (c) 1986 Dave Taylor X! * The Elm Mail System - $Revision: 2.1 $ $State: Exp $ X */ X X #include X #include X #include X*************** X*** 51,64 **** X # endif X #endif X X- X #include X X! /* X! #ifdef BSD X! #undef tolower X! #endif X! */ X X #define TTYIN 0 X X--- 46,54 ---- X # endif X #endif X X #include X X! #include "tin.h" X X #define TTYIN 0 X X*************** X*** 68,82 **** X # define _cleartoeos _clr2eos X #endif X X! #ifndef BSD X! struct termio _raw_tty, X! _original_tty; X! #else X #define TCGETA TIOCGETP X #define TCSETAW TIOCSETP X X struct sgttyb _raw_tty, X _original_tty; X #endif X X static int _inraw = 0; /* are we IN rawmode? */ X--- 58,72 ---- X # define _cleartoeos _clr2eos X #endif X X! #ifdef BSD X #define TCGETA TIOCGETP X #define TCSETAW TIOCSETP X X struct sgttyb _raw_tty, X _original_tty; X+ #else X+ struct termio _raw_tty, X+ _original_tty; X #endif X X static int _inraw = 0; /* are we IN rawmode? */ X*************** X*** 84,92 **** X #define DEFAULT_LINES_ON_TERMINAL 24 X #define DEFAULT_COLUMNS_ON_TERMINAL 80 X X! static X! char *_clearscreen, *_moveto, *_cleartoeoln, *_cleartoeos, X! *_setinverse, *_clearinverse, *_setunderline, *_clearunderline; X X static X int _lines,_columns; X--- 74,82 ---- X #define DEFAULT_LINES_ON_TERMINAL 24 X #define DEFAULT_COLUMNS_ON_TERMINAL 80 X X! static char *_clearscreen, *_moveto, *_cleartoeoln, *_cleartoeos, X! *_setinverse, *_clearinverse, *_setunderline, *_clearunderline, X! *_terminalinit, *_terminalend; X X static X int _lines,_columns; X*************** X*** 106,162 **** X char termname[40], *p; X char *strcpy(), *getenv(); X X! if ((p = getenv("TERM")) == NULL) { X! fprintf(stderr, X! "TERM variable not set; Tass requires screen capabilities\n"); X! return(FALSE); X } X! if (strcpy(termname, p) == NULL) { X! fprintf(stderr,"Can't get TERM variable\n"); X! return(FALSE); X } X! if (tgetent(_terminal, termname) != 1) { X! fprintf(stderr,"Can't get entry for TERM\n"); X! return(FALSE); X } X X /* load in all those pesky values */ X! _clearscreen = tgetstr("cl", &ptr); X! _moveto = tgetstr("cm", &ptr); X! _cleartoeoln = tgetstr("ce", &ptr); X! _cleartoeos = tgetstr("cd", &ptr); X! _lines = tgetnum("li"); X! _columns = tgetnum("co"); X! _setinverse = tgetstr("so", &ptr); X! _clearinverse = tgetstr("se", &ptr); X! _setunderline = tgetstr("us", &ptr); X! _clearunderline = tgetstr("ue", &ptr); X X if (!_clearscreen) { X! fprintf(stderr, X! "Terminal must have clearscreen (cl) capability\n"); SHAR_EOF echo "End of tin part 1" echo "File tin.patch05 is continued in part 2" echo "2" > 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.