I am in front of a strange behavior and would like to know if it is
because of a misuse or a bug (using ICS V8 WSocket)

Probably a bug in the unit OverbyteIcsWSocket?

function TCustomLineWSocket.TriggerDataAvailable(ErrCode : Word) : Boolean;
...
else begin
Move(PAnsiChar(FRcvdPtr)[I + Length(FLineEnd)], PAnsiChar(FRcvdPtr)[0],
                 FRcvdCnt - I - Length(FLineEnd));
            FRcvdCnt := FRcvdCnt - I - Length(FLineEnd);
        end;

This code is moving the not yet processed data to the beginning of the buffer, so it can search for the next line in the remaining received data, after triggering the client OnDataAvailable (for the current found line) where you change the FLineEnd, so, if the FLineEnd length changes, it picks the wrong already processed data end.

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to