From: Eric Blake Date: Wed, 15 Jun 2011 16:33:59 +0000 (-0600) Subject: sendkey: use consistent API convention X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1d57562942a915da17c0c799645b6d59eea6af8a;p=libvirt.git sendkey: use consistent API convention Even though rpc uses 'unsigned int' for the _len parameter that passes the length of item, the public libvirt APIs all use 'int' and filter out lengths < 0, except for virDomainSendKey. * include/libvirt/libvirt.h.in (virDomainSendKey): All other APIs use int for array length. * src/libvirt.c (virDomainSendKey): Adjust. * src/driver.h (virDrvDomainSendKey): Likewise. * daemon/remote_generator.pl: Likewise. --- diff --git a/daemon/remote_generator.pl b/daemon/remote_generator.pl index bcf5fd4463..b19de8db5e 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 ab220466ef..c6842975fe 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 d45575af99..c8802220e4 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 36a90d1e04..b2e1d02c15 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;