dorl@vms.macc.wisc.edu (Michael Dorl - MACC) (08/01/88)
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