C API / const char *text / std.string.toStringz pointer is always NULL on C side
Adam D. Ruppe
destructionator at gmail.com
Fri May 18 14:42:17 UTC 2018
On Friday, 18 May 2018 at 14:06:11 UTC, Robert M. Münch wrote:
> So, having a wrong return-type here, resulted in the const char
> *text parameter always being NULL. Not sure I understand the
> relation but looks strange to me... at least not very obvious.
A value struct return is actually done via a hidden pointer
parameter (so the function can construct it in-place for the
caller, a standard optimization), so it just shifted all the
other arguments to the side, causing one of those 0's to be
interpreted as the string.
More information about the Digitalmars-d-learn
mailing list