public unsafe void command_remoteexpr(string servername, string expr)
{
byte* p = null;
if (vimremote_remoteexpr(servername, expr, &p) != 0) {
var msg = (p == null ? "" : new string((sbyte*)p, 0, strlen(p), enc));
vimremote_free(p);
throw new Exception("vimremote_remoteexpr() failed: " + msg);
}
var result = new string((sbyte*)p, 0, strlen(p), enc);
vimremote_free(p);
System.Console.WriteLine(result);
}