[gambit-list] read-subu8vector

Marc Feeley feeley at iro.umontreal.ca
Fri Feb 22 13:53:07 EST 2008


On 22-Feb-08, at 12:16 PM, Guillaume Cartier wrote:

> In my web-server when I receive a request, the code to parse that
> request that is very natural goes something like :
>
> - read-line until received an empty line to read the headers
> - read-subu8vector to read the body that could be anything
>
> Problem is that the doc states that read-subu8vector should *not* be
> used after character input operations have been done on the port
> because otherwise the character-stream and byte-stream may be out of
> sync due to the port buffering. Is there any work around this
> limitation? (of course it is possible to modify the code not to do any
> character input operations but it becomes less elegant)

The "trick" is to disable the character buffering on the port, so that  
there is no unread text when you start reading with read-subu8vector.   
That's the price to pay for efficiency (a simpler model to use would  
be to never use buffering on any port, but that would be inefficient  
in the common case where you are reading only text).

Marc




More information about the Gambit-list mailing list