base64.mod bug and fix...
BlitzMax Forums/Brucey's Modules/base64.mod bug and fix...
| ||
| I've just hit an issue where decoded padded output would return invalid characters at the end of the string. It seems String.FromBytes doesn't bother stopping when it hits a zero (most likely due to the unicode support). The TBase64.decode function was ending like this..
Return String.FromBytes(outBuff, outBuff.length )
but padded output will leave zeros at the end of outBuff[] and these become invalid characters in the returned string (as I found out when I WriteLine'd them to a file). Replace that with this...
Local stringLength:Int = outbuff.length
While ( outbuff[ stringLength - 1 ] = 0 )
stringLength :- 1
Wend
Return String.FromBytes(outBuff, stringLength )
|