Thread overview
idiom for C error strings
Jul 21, 2015
yawniek
Jul 21, 2015
Daniel Kozák
Jul 21, 2015
Adam D. Ruppe
July 21, 2015
whats the proper way to use/wrap C functions  that expect a error string buffer
e.g.:
somefun(T param1, char* errstr, size_t errstr_size)
 in D ?

July 21, 2015
On Tue, 21 Jul 2015 12:27:55 +0000
"yawniek" <dlang@srtnwz.com> wrote:

> whats the proper way to use/wrap C functions  that expect a error
> string buffer
> e.g.:
> somefun(T param1, char* errstr, size_t errstr_size)
>   in D ?
> 

dynamic:

auto buf = new char[size];
somefun(param1, buf.ptr, buf.length);
or
somefun(param1, buf.ptr, size);

static:

char[size] buf;
somefun(param1, &buf, size);


July 21, 2015
On Tuesday, 21 July 2015 at 12:40:37 UTC, Daniel Kozák wrote:
> static:
>
> char[size] buf;

somefun(param1, buf.ptr, buf.length);

still works there too. That's the form I prefer to use.