Op 17 sep 2009, om 22:29 heeft Andrew Farmer het volgende geschreven:

On 16 Sep 2009, at 22:55, Johan Kool wrote:
Thanks so much!! That is indeed the case! I now use strunvis and it's all done in just 4 lines of code. (Well, except that I should still handle a returned error code.)

int len = [stringA lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
  char dst[len];
  strunvis(&dst, [stringA UTF8String]);
  return [NSString stringWithUTF8String:dst];

Not to burst your bubble, but that doesn't look quite right. It fails in the case where stringA contains no escaped characters (including the case where it's empty) -- the terminating null byte isn't counted by lengthOfBytesUsingEncoding:, so it ends up writing one byte off the end of dst[].


Ok, thanks for pointing that out. I'll just increase len by 1, that way it should always fit.

Johan

---
http://www.johankool.nl/

KOOLISTOV - Software for Mac and iPhone
http://www.koolistov.net/




_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to