diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl index bcf5fd44639b748106c0db14e9499e1a5873f0c2..b19de8db5e04a7b73ea79dbefdc2055844694b60 100755 --- a/daemon/remote_generator.pl +++ b/daemon/remote_generator.pl @@ -1007,7 +1007,7 @@ elsif ($opt_k) { my $limit = $3; push(@args_list, "${type_name} *$arg_name"); - push(@args_list, "unsigned int ${arg_name}len"); + push(@args_list, "int ${arg_name}len"); push(@setters_list, "args.$arg_name.${arg_name}_val = $arg_name;"); push(@setters_list, "args.$arg_name.${arg_name}_len = ${arg_name}len;"); push(@args_check_list, { name => "\"$arg_name\"", arg => "${arg_name}len", limit => $limit }); diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index ab220466ef200ae6b2c4eefed7f92995ac7e2b35..c6842975fef40f2cf3236cbb387c0b758b6bc3d2 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -1788,7 +1788,7 @@ int virDomainSendKey(virDomainPtr domain, unsigned int codeset, unsigned int holdtime, unsigned int *keycodes, - unsigned int nkeycodes, + int nkeycodes, unsigned int flags); /* diff --git a/src/driver.h b/src/driver.h index d45575af995f06891426d41a85efc17a9f6f6da0..c8802220e4ad611f669c0eb16422affe8dd8d099 100644 --- a/src/driver.h +++ b/src/driver.h @@ -568,7 +568,7 @@ typedef int (*virDrvDomainSendKey)(virDomainPtr dom, unsigned int codeset, unsigned int holdtime, unsigned int *keycodes, - unsigned int nkeycodes, + int nkeycodes, unsigned int flags); typedef char * diff --git a/src/libvirt.c b/src/libvirt.c index 36a90d1e04eb72f3b7c25ab636a8cbf7552182db..b2e1d02c15fd543870d38b99dc820574ec1b4b44 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -6653,7 +6653,7 @@ int virDomainSendKey(virDomainPtr domain, unsigned int codeset, unsigned int holdtime, unsigned int *keycodes, - unsigned int nkeycodes, + int nkeycodes, unsigned int flags) { virConnectPtr conn; @@ -6663,7 +6663,7 @@ int virDomainSendKey(virDomainPtr domain, virResetLastError(); if (keycodes == NULL || - nkeycodes == 0 || nkeycodes > VIR_DOMAIN_SEND_KEY_MAX_KEYS) { + nkeycodes <= 0 || nkeycodes > VIR_DOMAIN_SEND_KEY_MAX_KEYS) { virLibDomainError(VIR_ERR_OPERATION_INVALID, __FUNCTION__); virDispatchError(NULL); return -1;