From c32d766af127f68bb75ba5689f2f5239227bf559 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Mon, 31 Aug 2009 22:16:16 +0200 Subject: [PATCH] qemu-io: Improve portability (win32 now supported). * Add missing include for struct timeval. * Replace non-portable strsep by local qemu_strsep. * Use POSIX basename by including libgen.h. Signed-off-by: Stefan Weil Signed-off-by: Anthony Liguori --- cmd.c | 23 ++++++++++++++++++++++- configure | 2 ++ qemu-io.c | 2 ++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/cmd.c b/cmd.c index f3f4385643..d86ba7ccb4 100644 --- a/cmd.c +++ b/cmd.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "cmd.h" @@ -283,6 +284,26 @@ fetchline(void) } #endif +static char *qemu_strsep(char **input, const char *delim) +{ + char *result = *input; + if (result != NULL) { + char *p = result; + for (p = result; *p != '\0'; p++) { + if (strchr(delim, *p)) { + break; + } + } + if (*p == '\0') { + *input = NULL; + } else { + *p = '\0'; + *input = p + 1; + } + } + return result; +} + char ** breakline( char *input, @@ -292,7 +313,7 @@ breakline( char *p; char **rval = calloc(sizeof(char *), 1); - while (rval && (p = strsep(&input, " ")) != NULL) { + while (rval && (p = qemu_strsep(&input, " ")) != NULL) { if (!*p) continue; c++; diff --git a/configure b/configure index b78341ccc2..618e4dce21 100755 --- a/configure +++ b/configure @@ -1929,6 +1929,8 @@ if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then if [ "$check_utests" = "yes" ]; then tools="check-qint check-qstring check-qdict $tools" fi + elif test "$mingw32" = "yes" ; then + tools="qemu-io\$(EXESUF) $tools" fi fi echo "TOOLS=$tools" >> $config_host_mak diff --git a/qemu-io.c b/qemu-io.c index f96a4de6b4..cac72e9603 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -7,10 +7,12 @@ * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. */ +#include #include #include #include #include +#include #include "qemu-common.h" #include "block_int.h"