On Wed, Mar 28, 2012 at 05:42, Henry Jen <[email protected]> wrote:
> On Tuesday, March 27, 2012 4:31:58 PM UTC-7, Ben Noordhuis wrote:
>>
>> On Wed, Mar 28, 2012 at 00:36, Henry Jen <[email protected]> wrote:
>> >
>> > If we consider only 4 characters are valid and used to decode, the
>> > result
>> > octets written would be 3 instead of 4. The buf.write() does write 4
>> > octets
>> > and returns 4.
>> >
>> > Should this be considered a bug in test or is there a better
>> > explanation?
>> > Or perhaps I misunderstood what _charsWritten means?
>>
>> The test is working as expected. The base64 decoder in node (for
>> better or worse) handles partial input. In this particular case, it
>> assumes that the input is 8 octets long and that the two missing
>> octets are padding.
>>
>>
>
> Thanks for the reply.
>
> The bytes written is 4 as returned from Buffer.write() function is expected
> behavior. The value in doubt is Buffer._charWritten.
>
> Look at other tests, especially the 'hex' encoding example next, 9 bytes are
> written, and the "characters" are written is set to 18. Which match to my
> understanding as "characters in the input string consumed for decoding
> written octets". In that sense, shouldn't Buffer._charsWritten be set to 6?
> Assume the input sting to have padding, "123456=" or "123456==", what should
> be the Buffer._charWritten? 7 and 8 accordingly?

Right, I see what you mean. It looks like the hex test is wrong. I've
commented on the commit[1].

As to what _charsWritten means, here's what the docs say about it:

  The number of characters written (which may be different than the
number of
  bytes written) is set in `Buffer._charsWritten` and will be
overwritten the
  next time `buf.write()` is called.

[1] https://github.com/joyent/node/commit/526c54c9#commitcomment-1143045

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to