From:	CSBVAX::MRGATE!info-vax-RELAY@KL.SRI.COM@SMTP  3-AUG-1988 12:54
To:	ARISIA::EVERHART
Subj:	uw nntp remote news reader, fix


Received: from ucbvax.berkeley.edu by KL.SRI.COM with TCP; Mon, 1 Aug 88 10:12:21 PDT
Received: by ucbvax.berkeley.edu (5.59/1.28)
	id AA04829; Mon, 1 Aug 88 08:32:58 PDT
Received: from USENET by ucbvax.Berkeley.EDU with netnews
	for info-vax@kl.sri.com (info-vax@kl.sri.com)
	(contact usenet@ucbvax.Berkeley.EDU if you have questions)
Date: 1 Aug 88 14:23:24 GMT
From: dogie!dorl%vms.macc.wisc.edu@csd1.milw.wisc.edu  (Michael Dorl - MACC)
Organization: University of Wisconsin Academic Computing Center
Subject: uw nntp remote news reader, fix
Message-Id: <561@dogie.edu>
Sender: info-vax-request@kl.sri.com
To: info-vax@kl.sri.com

The news program I distributed last week is subject to the
infamous line eater problem.  The fix is to replace function
srv_send found in file news.for with the following code:

	Integer Function Srv_Send (Msg)

	Include 'News.Def'

C Description
C
C   Send data from Buffer to News Server
C
C   Returns success or failure.

C Parameter Definitions

	Character *(*)		Msg

C Local definitions

	Character *512		Buf
	Integer	  *4		Buf_Addr
	Integer   *4		Buf_Lg
	Integer   *4		CC

C Begin Srv_Send

	Buf_Lg   = Len(Msg)
	If (Msg(1:Buf_Lg) .eq. ' ') Then
	  Buf = Char(13) // Char(10)
	  Buf_Lg = 0
	Else
	  Buf = Msg(1:Buf_Lg) // Char(13) // Char(10)
	EndIf
	Buf_Addr = %Loc(Buf)
	Buf_Lg   = Buf_Lg+2

	CC = Send
     $    (
     $     %Val(Channel),
     $     %Val(Buf_Addr),
     $     %Val(Buf_Lg),
     $     %Val(0)
     $    )

	If (CC .eq. -1) Then
	  Srv_Send = 0
	Else
	  Srv_Send = 1
	EndIf

	Return

	End ! Srv_Send

PS

 I'd be interested to know if anyone got the program to work.

 I'll be on vacation from 8/2 to 8/10 so don't expect any response
 to queries during that period.

Michael Dorl (608) 262-0466
dorl@vms.macc.wisc.edu
dorl@wiscmacc.bitnet
