I've got a function which takes two strings and should return
them as a ubyte[] with additional zero bytes in between and
around. This works:
ubyte[] convert_string_pair(string first, string second)
{
auto b = new ubyte[](0);
b ~= 0x00 ~ first ~ 0x00 ~ second ~ 0x00;
return b;
}
But I think it would be more elegant to do it in a single return
statement, but unfortunately this does not work:
ubyte[] convert_string_pair(string first, string second)
{
return 0x00 ~ first ~ 0x00 ~ second ~ 0x00;
}
The reason is, that this expression creates a string and not a
ubyte[]...