Hi,
* Holger Hans Peter Freyther <holger(a)freyther.de> [2010-07-20 13:03]:
On 07/20/2010 05:05 AM, Nico Golde wrote:
I just looked into this and if I'm not
mistaken this is no
bug in the encoding but just a bug when comparing the
encoded result. The current code memcmp's n bytes where n is
the result of gsm_7bit_encode() with the input string
bytewise. The problem with this is that the function returns
the number of septets not octets. Attached is a patch for
the test code that should fix this.
I don't think using strlen is correct. The gsm_7bit_encode
method makes no promise that the result will have a null
byte at the end, in fact nothing in this method will add a
null byte, and the null byte in the output is only present
because of memset in the calling method.
Yeah, realized this after writing, hence the second reply.
I think gsm_7bit_encode should return the length of
bytes
it has written to, not more. :)
Yes and I think this is part of the problem. Currently the
function returns i instead of z while z is the counter for
the bytes actually written and i the number of encoded
septets. I will probably look into this at the weekend.
Cheers
Nico