@@ -441,10 +441,28 @@ int qemu_uuid_parse(const char *str, uint8_t *uuid)
return -1;
}
+#ifndef _WIN32
ret = sscanf(str, UUID_FMT, &uuid[0], &uuid[1], &uuid[2], &uuid[3],
&uuid[4], &uuid[5], &uuid[6], &uuid[7], &uuid[8], &uuid[9],
&uuid[10], &uuid[11], &uuid[12], &uuid[13], &uuid[14],
&uuid[15]);
+#else
+ {
+ int uuid2[16];
+ unsigned int i;
+
+ ret = sscanf(str, UUID_FMT, &uuid2[0], &uuid2[1], &uuid2[2], &uuid2[3],
+ &uuid2[4], &uuid2[5], &uuid2[6], &uuid2[7], &uuid2[8],
+ &uuid2[9], &uuid2[10], &uuid2[11], &uuid2[12], &uuid2[13],
+ &uuid2[14], &uuid2[15]);
+ if (ret == 16) {
+ for (i = 0; i < ret; i++) {
+ uuid[i] = uuid2[i];
+ }
+ }
+
+ }
+#endif
if (ret != 16) {
return -1;
@@ -22,7 +22,11 @@ extern int vm_running;
extern const char *qemu_name;
extern uint8_t qemu_uuid[];
int qemu_uuid_parse(const char *str, uint8_t *uuid);
+#ifndef _WIN32
#define UUID_FMT
"%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
+#else
+#define UUID_FMT
"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x"
+#endif
Signed-off-by: Blue Swirl <blauwirbel@gmail.com> --- arch_init.c | 18 ++++++++++++++++++ sysemu.h | 4 ++++ 2 files changed, 22 insertions(+), 0 deletions(-) typedef struct vm_change_state_entry VMChangeStateEntry; typedef void VMChangeStateHandler(void *opaque, int running, int reason);