From 35f911c815c091b3bff72d41283a0be9ec923f26 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Mon, 26 Feb 2007 15:34:24 +0000 Subject: [PATCH] Mon Feb 26 15:33:08 IST 2007 Mark McLoughlin * qemud/conf.c, qemud/uuid.[ch]: move qemudParseUUID() into uuid.c --- ChangeLog | 5 +++++ qemud/conf.c | 48 ------------------------------------------------ qemud/uuid.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ qemud/uuid.h | 3 +++ 4 files changed, 56 insertions(+), 48 deletions(-) diff --git a/ChangeLog b/ChangeLog index db24736d68..48199cecc5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 26 15:33:08 IST 2007 Mark McLoughlin + + * qemud/conf.c, qemud/uuid.[ch]: move qemudParseUUID() + into uuid.c + Mon Feb 26 15:31:23 IST 2007 Mark McLoughlin * qemud/uuid.[ch]: add uuid generation code diff --git a/qemud/conf.c b/qemud/conf.c index 64be113079..cb14ee2d9e 100644 --- a/qemud/conf.c +++ b/qemud/conf.c @@ -47,54 +47,6 @@ #include "iptables.h" #include "uuid.h" -static int qemudParseUUID(const char *uuid, - unsigned char *rawuuid) { - const char *cur; - int i; - - /* - * do a liberal scan allowing '-' and ' ' anywhere between character - * pairs as long as there is 32 of them in the end. - */ - cur = uuid; - for (i = 0;i < 16;) { - rawuuid[i] = 0; - if (*cur == 0) - goto error; - if ((*cur == '-') || (*cur == ' ')) { - cur++; - continue; - } - if ((*cur >= '0') && (*cur <= '9')) - rawuuid[i] = *cur - '0'; - else if ((*cur >= 'a') && (*cur <= 'f')) - rawuuid[i] = *cur - 'a' + 10; - else if ((*cur >= 'A') && (*cur <= 'F')) - rawuuid[i] = *cur - 'A' + 10; - else - goto error; - rawuuid[i] *= 16; - cur++; - if (*cur == 0) - goto error; - if ((*cur >= '0') && (*cur <= '9')) - rawuuid[i] += *cur - '0'; - else if ((*cur >= 'a') && (*cur <= 'f')) - rawuuid[i] += *cur - 'a' + 10; - else if ((*cur >= 'A') && (*cur <= 'F')) - rawuuid[i] += *cur - 'A' + 10; - else - goto error; - i++; - cur++; - } - - return 0; - - error: - return -1; -} - /* Free all memory associated with a struct qemud_vm object */ void qemudFreeVMDef(struct qemud_vm_def *def) { struct qemud_vm_disk_def *disk = def->disks; diff --git a/qemud/uuid.c b/qemud/uuid.c index 349a86abfc..2e87f88dc8 100644 --- a/qemud/uuid.c +++ b/qemud/uuid.c @@ -89,6 +89,54 @@ qemudGenerateUUID(unsigned char *uuid) return qemudGeneratePseudoRandomBytes(uuid, QEMUD_UUID_RAW_LEN); } +int +qemudParseUUID(const char *uuid, unsigned char *rawuuid) { + const char *cur; + int i; + + /* + * do a liberal scan allowing '-' and ' ' anywhere between character + * pairs as long as there is 32 of them in the end. + */ + cur = uuid; + for (i = 0;i < 16;) { + rawuuid[i] = 0; + if (*cur == 0) + goto error; + if ((*cur == '-') || (*cur == ' ')) { + cur++; + continue; + } + if ((*cur >= '0') && (*cur <= '9')) + rawuuid[i] = *cur - '0'; + else if ((*cur >= 'a') && (*cur <= 'f')) + rawuuid[i] = *cur - 'a' + 10; + else if ((*cur >= 'A') && (*cur <= 'F')) + rawuuid[i] = *cur - 'A' + 10; + else + goto error; + rawuuid[i] *= 16; + cur++; + if (*cur == 0) + goto error; + if ((*cur >= '0') && (*cur <= '9')) + rawuuid[i] += *cur - '0'; + else if ((*cur >= 'a') && (*cur <= 'f')) + rawuuid[i] += *cur - 'a' + 10; + else if ((*cur >= 'A') && (*cur <= 'F')) + rawuuid[i] += *cur - 'A' + 10; + else + goto error; + i++; + cur++; + } + + return 0; + + error: + return -1; +} + /* * Local variables: * indent-tabs-mode: nil diff --git a/qemud/uuid.h b/qemud/uuid.h index a299388184..286a83b52d 100644 --- a/qemud/uuid.h +++ b/qemud/uuid.h @@ -24,4 +24,7 @@ int qemudGenerateUUID(unsigned char *uuid); +int qemudParseUUID (const char *uuid, + unsigned char *rawuuid); + #endif /* __QEMUD_UUID_H__ */