1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
void foo ([CCode (array_length = false, array_null_terminated = true)] ref string[] bar) {
bar = { "foo", "bar", "manam", "!" };
}
void faz ([CCode (array_length = false, array_null_terminated = true)] ref string[] bar) {
foo (ref bar);
}
void main () {
{
string[] bar = { "bar" };
foo (ref bar);
assert (bar.length == 4);
assert (bar[2] == "manam");
assert (bar[4] == null);
}
{
string[] bar = { "bar" };
faz (ref bar);
assert (bar.length == 4);
assert (bar[2] == "manam");
assert (bar[4] == null);
}
}
|