🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: net.sources.bugs
2 messages
2 total messages Started by roland Wed, 28 Jan 1987 03:38
bug in vn
#923
Author: roland
Date: Wed, 28 Jan 1987 03:38
53 lines
2282 bytes
There is a bug? in vn which will lead to a floating point exception,
divide by 0. This occurs when reading an article where headers before
the "Lines:" extend over 1 line causing artlin to be 0.
The patch below will fix vn in this case to arbitrarily display 100% 
in the reader if artlin == 0.

Roland Yap	           ACSNET,CSNET:roland@moncskermit.oz	
Dept. of Computer Science  ARPA:roland%moncskermit.oz@seismo.arpa	
Monash University          UUCP: ..!seismo!munnari!moncskermit.oz!roland	
Clayton     		  ...!{decvax,pesnta,vax135}!mulga!moncskermit.oz!roland
Australia 3168
                          moncsbruce can also be substituted for moncskermit

-----------------< cut here and submit to patch >------------------------
*** oldreader.c	Wed Jan 28 14:11:59 1987
--- reader.c	Wed Jan 28 14:09:21 1987
***************
*** 201,207
  			*/
  			if (Headflag)
  				percent = ((Rlines-2)*100)/(artlin+Hlines);
! 			else
  				percent = ((Rlines-Hlines-2)*100)/artlin;
  			sprintf (pstr,PAGE_MID,percent);
  		}

--- 201,208 -----
  			*/
  			if (Headflag)
  				percent = ((Rlines-2)*100)/(artlin+Hlines);
! 			/*	Problem here in that gethead can return artlin=0 */
! 			else if (artlin > 0.0)
  				percent = ((Rlines-Hlines-2)*100)/artlin;
  			/*	fudge with arbitrary number	*/
  			else	percent = 100;
***************
*** 203,208
  				percent = ((Rlines-2)*100)/(artlin+Hlines);
  			else
  				percent = ((Rlines-Hlines-2)*100)/artlin;
  			sprintf (pstr,PAGE_MID,percent);
  		}
  		else

--- 204,211 -----
  			/*	Problem here in that gethead can return artlin=0 */
  			else if (artlin > 0.0)
  				percent = ((Rlines-Hlines-2)*100)/artlin;
+ 			/*	fudge with arbitrary number	*/
+ 			else	percent = 100;
  			sprintf (pstr,PAGE_MID,percent);
  		}
  		else
Re: bug in vn
#929
Author: bobm
Date: Wed, 04 Feb 1987 20:01
28 lines
1700 bytes
OK, we had a discussion on this one a few weeks back.  Preventative medicine
like this is a good idea, but you should also go into the gethead() routine
in that same source and replace

	if (index(buf,':') == NULL)

with

	if (buf[0] == '\n')

To be more correct, you should incorporate a special fgets that folds the
continued header lines, such as someone posted, but given the use being
made of the header lines in this context, it probably won't matter - the
examples I've seen don't fold any relevent lines, and the Subject will
be truncated anyway.

I'm curious about something - vn has been happily running with the original
logic from the first issue of the program, and in my private copies for the
last 3 years.  Somebody has just recently started sending out the continued
lines - seemingly all articles from BITNET.  I admit that they're allowed
to do so, and that looking for the colon is a bug, but I'd still like to
know what issue of what posting software is generating the folded lines now.
Only from BITNET?  Only at 2.11 sites?  We're running 2.10.3, and I can't
say that I've ever seen such an article here.
-- 

Bob McQueer
{amdahl, sun, mtxinu, hoptoad, cpsc6a}!rtech!bobm
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads