On 9/10/14 1:38 PM, Heikki Linnakangas wrote:
> On 09/10/2014 02:26 PM, Marko Tiikkaja wrote:
>> So I wonder if I shouldn't try and instead keep the
>> code closer to what it is in HEAD right now; I could call
>> enlargeStringInfo() first, then hand out a pointer to b64_encode (or
>> b64_decode()) and finally increment StringInfoData.len by how much was
>> actually written. That would keep the code changes a lot smaller, too.
>
> Yeah, that sounds reasonable.
OK, I've attemped to do that in the attached. I'm pretty sure I didn't
get all of the overflows right, so someone should probably take a really
good look at it. (I'm not too confident the original code got them
right either, but whatever).
Speaking of good looks, should I add it to the next commitfest as a new
patch, or should we try and get someone to review it like this?
>> I'm also not sure why we need to keep a copy of the base64
>> encoding/decoding logic instead of exporting it in utils/adt/encode.c.
>
> Good question...
I've left this question unanswered for now. We can fix it later,
independently of this patch.
.marko