[libvirt] [PATCH] Remove hand-crafted UUID parsers

* src/libvirt.c: Remove hand-crafted UUID parsers in favour of calling virParseUUID --- src/libvirt.c | 56 +++++--------------------------------------------------- 1 files changed, 5 insertions(+), 51 deletions(-) diff --git a/src/libvirt.c b/src/libvirt.c index 9fb0617..74d62a4 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -1839,26 +1839,11 @@ virDomainLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF; return virDomainLookupByUUID(conn, &uuid[0]); @@ -5038,26 +5023,10 @@ virNetworkLookupByUUIDString(virConnectPtr conn, const char *uuidstr) goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF; return virNetworkLookupByUUID(conn, &uuid[0]); @@ -8887,26 +8856,11 @@ virSecretLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF; return virSecretLookupByUUID(conn, &uuid[0]); -- 1.6.2.5

2009/9/24 Daniel P. Berrange <berrange@redhat.com>:
* src/libvirt.c: Remove hand-crafted UUID parsers in favour of calling virParseUUID
s/virParseUUID/virUUIDParse/
--- src/libvirt.c | 56 +++++--------------------------------------------------- 1 files changed, 5 insertions(+), 51 deletions(-)
diff --git a/src/libvirt.c b/src/libvirt.c index 9fb0617..74d62a4 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -1839,26 +1839,11 @@ virDomainLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virDomainLookupByUUID(conn, &uuid[0]);
@@ -5038,26 +5023,10 @@ virNetworkLookupByUUIDString(virConnectPtr conn, const char *uuidstr) goto error; }
- /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virNetworkLookupByUUID(conn, &uuid[0]);
@@ -8887,26 +8856,11 @@ virSecretLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virSecretLookupByUUID(conn, &uuid[0]);
-- 1.6.2.5
You removed the usage of raw, i and ret in this 3 functions, but forgot to remove the variable definitions as well. ACK, beside the two comments. Matthias

On Thu, Sep 24, 2009 at 10:13:15PM +0200, Matthias Bolte wrote:
2009/9/24 Daniel P. Berrange <berrange@redhat.com>:
* src/libvirt.c: Remove hand-crafted UUID parsers in favour of calling virParseUUID
s/virParseUUID/virUUIDParse/
--- src/libvirt.c | 56 +++++--------------------------------------------------- 1 files changed, 5 insertions(+), 51 deletions(-)
diff --git a/src/libvirt.c b/src/libvirt.c index 9fb0617..74d62a4 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -1839,26 +1839,11 @@ virDomainLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virDomainLookupByUUID(conn, &uuid[0]);
@@ -5038,26 +5023,10 @@ virNetworkLookupByUUIDString(virConnectPtr conn, const char *uuidstr) goto error; }
- /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virNetworkLookupByUUID(conn, &uuid[0]);
@@ -8887,26 +8856,11 @@ virSecretLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virSecretLookupByUUID(conn, &uuid[0]);
-- 1.6.2.5
You removed the usage of raw, i and ret in this 3 functions, but forgot to remove the variable definitions as well.
That's odd, the compiler didn't complain about those. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Fri, Sep 25, 2009 at 10:41:08AM +0100, Daniel P. Berrange wrote:
On Thu, Sep 24, 2009 at 10:13:15PM +0200, Matthias Bolte wrote:
2009/9/24 Daniel P. Berrange <berrange@redhat.com>:
* src/libvirt.c: Remove hand-crafted UUID parsers in favour of calling virParseUUID
s/virParseUUID/virUUIDParse/
--- src/libvirt.c | 56 +++++--------------------------------------------------- 1 files changed, 5 insertions(+), 51 deletions(-)
diff --git a/src/libvirt.c b/src/libvirt.c index 9fb0617..74d62a4 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -1839,26 +1839,11 @@ virDomainLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virDomainLookupByUUID(conn, &uuid[0]);
@@ -5038,26 +5023,10 @@ virNetworkLookupByUUIDString(virConnectPtr conn, const char *uuidstr) goto error; }
- /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virNetworkLookupByUUID(conn, &uuid[0]);
@@ -8887,26 +8856,11 @@ virSecretLookupByUUIDString(virConnectPtr conn, const char *uuidstr) virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - /* XXX: sexpr_uuid() also supports 'xxxx-xxxx-xxxx-xxxx' format. - * We needn't it here. Right? - */ - ret = sscanf(uuidstr, - "%02x%02x%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x-" - "%02x%02x%02x%02x%02x%02x", - raw + 0, raw + 1, raw + 2, raw + 3, - raw + 4, raw + 5, raw + 6, raw + 7, - raw + 8, raw + 9, raw + 10, raw + 11, - raw + 12, raw + 13, raw + 14, raw + 15); - - if (ret!=VIR_UUID_BUFLEN) { + + if (virUUIDParse(uuidstr, uuid) < 0) { virLibConnError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); goto error; } - for (i = 0; i < VIR_UUID_BUFLEN; i++) - uuid[i] = raw[i] & 0xFF;
return virSecretLookupByUUID(conn, &uuid[0]);
-- 1.6.2.5
You removed the usage of raw, i and ret in this 3 functions, but forgot to remove the variable definitions as well.
That's odd, the compiler didn't complain about those.
in any case, ACK ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
participants (3)
-
Daniel P. Berrange
-
Daniel Veillard
-
Matthias Bolte