On 5/12/2012 1:59 p.m., Amos Jeffries wrote:
1a) a layering issue between helperHandleRead() and
helperReturnBuffer(). helperReturnBuffer is only dealing with the
message sub-string, but has been made to memmove() the buffer contents
which means it has to become aware of these problematic terminal \0
octet(s). However helperHandleRead() is where the termination is being
done and the buffer information is all being handled.
-> need to do the memmove() in helperHandleRead()
1b) helpers which return \r\n are still passed the location of the \n
as endpoint to workaround (1a) even though the \r is also replaced
with \0 and shortens the msg portion by one octet. This affects the
HelperReply parser length checks on responses without kv-pair.
-> need to pass the first of the termination \0 octets not the last
to helperReturnBuffer(). This is made possible after fixing (1a).
In absence of any objections and with successful test results by two of
us I have applied this.
Amos