On success, the 'sendkey' command does not return any data, so
any data in the reply should be considered to be an error
message
* src/qemu/qemu_monitor_text.c: Treat non-"" reply data as an
error message for 'sendkey' command
int i;
virBuffer buf = VIR_BUFFER_INITIALIZER;
char *cmd, *reply = NULL;
+ int ret = -1;
if (nkeycodes > VIR_DOMAIN_SEND_KEY_MAX_KEYS || nkeycodes == 0)
return -1;
qemuReportError(VIR_ERR_OPERATION_FAILED,
_("failed to send key using command '%s'"),
cmd);
- VIR_FREE(cmd);
- return -1;
+ goto cleanup;
+ }
+
+ if (STRNEQ(reply, "")) {
+ qemuReportError(VIR_ERR_OPERATION_FAILED,
+ _("failed to send key '%s'"), reply);
+ goto cleanup;
}
+ ret = 0;
+
+cleanup:
VIR_FREE(cmd);
VIR_FREE(reply);
- return 0;
+ return ret;
}
/* Returns -1 on error, -2 if not supported */