On Wednesday, 3 October 2018 at 01:14:24 UTC, Chris Katko wrote:
I'm not sure how I made this mistake. But it seems to only show up now if I leave .toStringz() with the writefln.

Yeah.

So what's happening here is toStringz returns the C-style char*, which printf works well with, but writef doesn't trust it and just prints the pointer value instead of trying to traverse it looking for a zero terminator (which might not be there).

Just passing a D string will work consistently.

So maybe I've been staring at code too long tonight and simply missed it?

oh probably, it happens to everyone :)

Reply via email to