Minor change to ReadChar function
This commit is contained in:
parent
987e91d046
commit
463d3e05ba
|
@ -162,6 +162,12 @@ End;
|
||||||
Function TSocketClass.WriteBuf (Var Buf; Len: LongInt) : LongInt;
|
Function TSocketClass.WriteBuf (Var Buf; Len: LongInt) : LongInt;
|
||||||
Begin
|
Begin
|
||||||
Result := fpSend(FSocketHandle, @Buf, Len, FPSENDOPT);
|
Result := fpSend(FSocketHandle, @Buf, Len, FPSENDOPT);
|
||||||
|
|
||||||
|
// While (Result = -1) and ((SocketError = SYS_EWOULDBLOCK) or (SocketError = SYS_ENOBUFS)) Do Begin
|
||||||
|
// WaitMS(10);
|
||||||
|
|
||||||
|
// Result := fpSend(FSocketHandle, @Buf, Len, FPSENDOPT);
|
||||||
|
// End;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TSocketClass.BufFlush;
|
Procedure TSocketClass.BufFlush;
|
||||||
|
@ -176,6 +182,7 @@ End;
|
||||||
Procedure TSocketClass.BufWriteChar (Ch: Char);
|
Procedure TSocketClass.BufWriteChar (Ch: Char);
|
||||||
Begin
|
Begin
|
||||||
FOutBuf[FOutBufPos] := Ch;
|
FOutBuf[FOutBufPos] := Ch;
|
||||||
|
|
||||||
Inc(FOutBufPos);
|
Inc(FOutBufPos);
|
||||||
|
|
||||||
If FOutBufPos > TSocketBufferSize Then Begin
|
If FOutBufPos > TSocketBufferSize Then Begin
|
||||||
|
@ -363,11 +370,8 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Function TSocketClass.ReadChar : Char;
|
Function TSocketClass.ReadChar : Char;
|
||||||
Var
|
|
||||||
Ch : Char;
|
|
||||||
Begin
|
Begin
|
||||||
ReadBuf(Ch, 1);
|
ReadBuf(Result, 1);
|
||||||
Result := Ch;
|
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Function TSocketClass.ReadBuf (Var Buf; Len: LongInt) : LongInt;
|
Function TSocketClass.ReadBuf (Var Buf; Len: LongInt) : LongInt;
|
||||||
|
@ -375,6 +379,7 @@ Begin
|
||||||
If FInBufPos = FInBufEnd Then Begin
|
If FInBufPos = FInBufEnd Then Begin
|
||||||
FInBufEnd := fpRecv(FSocketHandle, @FInBuf, TSocketBufferSize, FPRECVOPT);
|
FInBufEnd := fpRecv(FSocketHandle, @FInBuf, TSocketBufferSize, FPRECVOPT);
|
||||||
FInBufPos := 0;
|
FInBufPos := 0;
|
||||||
|
|
||||||
If FInBufEnd <= 0 Then Begin
|
If FInBufEnd <= 0 Then Begin
|
||||||
FInBufEnd := 0;
|
FInBufEnd := 0;
|
||||||
Result := -1;
|
Result := -1;
|
||||||
|
@ -404,7 +409,9 @@ Begin
|
||||||
If FInBufPos = FInBufEnd Then Res := ReadBuf(Ch, 0);
|
If FInBufPos = FInBufEnd Then Res := ReadBuf(Ch, 0);
|
||||||
|
|
||||||
Ch := FInBuf[FInBufPos];
|
Ch := FInBuf[FInBufPos];
|
||||||
|
|
||||||
Inc (FInBufPos);
|
Inc (FInBufPos);
|
||||||
|
|
||||||
If (Ch <> #10) And (Ch <> #13) And (FInBufEnd > 0) Then Str := Str + Ch;
|
If (Ch <> #10) And (Ch <> #13) And (FInBufEnd > 0) Then Str := Str + Ch;
|
||||||
Until (Ch = #10) Or (Res < 0) Or (FInBufEnd = 0);
|
Until (Ch = #10) Or (Res < 0) Or (FInBufEnd = 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue