String pseudo type corresponds to
'const char *' type.. because it passes the string by copying it on stack and null terminating it there,
and then pushing the pointer (which on stack), as argument to function.
That means that original string is never modified, in your case function will modify a temporary
string on stack, and after call finished it will be lost.
If function takes pointer to write some data at given location, you can just pass a ByteArray instance
as a buffer to hold that string (so function will receive a pointer of first byte in it)..
and after it return, trim/convert it to ByteString.