[libvirt] [PATCH] qemu: Report binary path if error parsing -help

Signed-off-by: Cole Robinson <crobinso@redhat.com> --- src/qemu/qemu_conf.c | 14 ++++++++------ src/qemu/qemu_conf.h | 3 ++- tests/qemuhelptest.c | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index e3da08a..1f8a9c3 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1237,7 +1237,8 @@ static unsigned long long qemudComputeCmdFlags(const char *help, #define SKIP_BLANKS(p) do { while ((*(p) == ' ') || (*(p) == '\t')) (p)++; } while (0) -int qemudParseHelpStr(const char *help, +int qemudParseHelpStr(const char *qemu, + const char *help, unsigned long long *flags, unsigned int *version, unsigned int *is_kvm, @@ -1308,8 +1309,8 @@ fail: p = strndup(help, p - help); qemuReportError(VIR_ERR_INTERNAL_ERROR, - _("cannot parse QEMU version number in '%s'"), - p ? p : help); + _("cannot parse %s version number in '%s'"), + qemu, p ? p : help); VIR_FREE(p); @@ -1340,12 +1341,13 @@ int qemudExtractVersionInfo(const char *qemu, enum { MAX_HELP_OUTPUT_SIZE = 1024*64 }; int len = virFileReadLimFD(newstdout, MAX_HELP_OUTPUT_SIZE, &help); if (len < 0) { - virReportSystemError(errno, "%s", - _("Unable to read QEMU help output")); + virReportSystemError(errno, + _("Unable to read %s help output"), qemu); goto cleanup2; } - if (qemudParseHelpStr(help, &flags, &version, &is_kvm, &kvm_version) == -1) + if (qemudParseHelpStr(qemu, help, &flags, + &version, &is_kvm, &kvm_version) == -1) goto cleanup2; if (retversion) diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index ae187dc..c8757c5 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -175,7 +175,8 @@ int qemudExtractVersionInfo (const char *qemu, unsigned int *version, unsigned long long *qemuCmdFlags); -int qemudParseHelpStr (const char *str, +int qemudParseHelpStr (const char *qemu, + const char *str, unsigned long long *qemuCmdFlags, unsigned int *version, unsigned int *is_kvm, diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 0f2b509..ad355d7 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -49,7 +49,8 @@ static int testHelpStrParsing(const void *data) if (virtTestLoadFile(path, &help, MAX_HELP_OUTPUT_SIZE) < 0) return -1; - if (qemudParseHelpStr(help, &flags, &version, &is_kvm, &kvm_version) == -1) + if (qemudParseHelpStr("QEMU", help, &flags, + &version, &is_kvm, &kvm_version) == -1) return -1; if (flags != info->flags) { -- 1.6.5.2

On Wed, Feb 24, 2010 at 12:55:19PM -0500, Cole Robinson wrote:
Signed-off-by: Cole Robinson <crobinso@redhat.com> --- src/qemu/qemu_conf.c | 14 ++++++++------ src/qemu/qemu_conf.h | 3 ++- tests/qemuhelptest.c | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index e3da08a..1f8a9c3 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1237,7 +1237,8 @@ static unsigned long long qemudComputeCmdFlags(const char *help,
#define SKIP_BLANKS(p) do { while ((*(p) == ' ') || (*(p) == '\t')) (p)++; } while (0)
-int qemudParseHelpStr(const char *help, +int qemudParseHelpStr(const char *qemu, + const char *help, unsigned long long *flags, unsigned int *version, unsigned int *is_kvm, @@ -1308,8 +1309,8 @@ fail: p = strndup(help, p - help);
qemuReportError(VIR_ERR_INTERNAL_ERROR, - _("cannot parse QEMU version number in '%s'"), - p ? p : help); + _("cannot parse %s version number in '%s'"), + qemu, p ? p : help);
VIR_FREE(p);
@@ -1340,12 +1341,13 @@ int qemudExtractVersionInfo(const char *qemu, enum { MAX_HELP_OUTPUT_SIZE = 1024*64 }; int len = virFileReadLimFD(newstdout, MAX_HELP_OUTPUT_SIZE, &help); if (len < 0) { - virReportSystemError(errno, "%s", - _("Unable to read QEMU help output")); + virReportSystemError(errno, + _("Unable to read %s help output"), qemu); goto cleanup2; }
- if (qemudParseHelpStr(help, &flags, &version, &is_kvm, &kvm_version) == -1) + if (qemudParseHelpStr(qemu, help, &flags, + &version, &is_kvm, &kvm_version) == -1) goto cleanup2;
if (retversion) diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index ae187dc..c8757c5 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -175,7 +175,8 @@ int qemudExtractVersionInfo (const char *qemu, unsigned int *version, unsigned long long *qemuCmdFlags);
-int qemudParseHelpStr (const char *str, +int qemudParseHelpStr (const char *qemu, + const char *str, unsigned long long *qemuCmdFlags, unsigned int *version, unsigned int *is_kvm, diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 0f2b509..ad355d7 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -49,7 +49,8 @@ static int testHelpStrParsing(const void *data) if (virtTestLoadFile(path, &help, MAX_HELP_OUTPUT_SIZE) < 0) return -1;
- if (qemudParseHelpStr(help, &flags, &version, &is_kvm, &kvm_version) == -1) + if (qemudParseHelpStr("QEMU", help, &flags, + &version, &is_kvm, &kvm_version) == -1) return -1;
if (flags != info->flags) {
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/

On 02/25/2010 07:32 AM, Daniel Veillard wrote:
On Wed, Feb 24, 2010 at 12:55:19PM -0500, Cole Robinson wrote:
Signed-off-by: Cole Robinson <crobinso@redhat.com> --- src/qemu/qemu_conf.c | 14 ++++++++------ src/qemu/qemu_conf.h | 3 ++- tests/qemuhelptest.c | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index e3da08a..1f8a9c3 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1237,7 +1237,8 @@ static unsigned long long qemudComputeCmdFlags(const char *help,
#define SKIP_BLANKS(p) do { while ((*(p) == ' ') || (*(p) == '\t')) (p)++; } while (0)
-int qemudParseHelpStr(const char *help, +int qemudParseHelpStr(const char *qemu, + const char *help, unsigned long long *flags, unsigned int *version, unsigned int *is_kvm, @@ -1308,8 +1309,8 @@ fail: p = strndup(help, p - help);
qemuReportError(VIR_ERR_INTERNAL_ERROR, - _("cannot parse QEMU version number in '%s'"), - p ? p : help); + _("cannot parse %s version number in '%s'"), + qemu, p ? p : help);
VIR_FREE(p);
@@ -1340,12 +1341,13 @@ int qemudExtractVersionInfo(const char *qemu, enum { MAX_HELP_OUTPUT_SIZE = 1024*64 }; int len = virFileReadLimFD(newstdout, MAX_HELP_OUTPUT_SIZE, &help); if (len < 0) { - virReportSystemError(errno, "%s", - _("Unable to read QEMU help output")); + virReportSystemError(errno, + _("Unable to read %s help output"), qemu); goto cleanup2; }
- if (qemudParseHelpStr(help, &flags, &version, &is_kvm, &kvm_version) == -1) + if (qemudParseHelpStr(qemu, help, &flags, + &version, &is_kvm, &kvm_version) == -1) goto cleanup2;
if (retversion) diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index ae187dc..c8757c5 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -175,7 +175,8 @@ int qemudExtractVersionInfo (const char *qemu, unsigned int *version, unsigned long long *qemuCmdFlags);
-int qemudParseHelpStr (const char *str, +int qemudParseHelpStr (const char *qemu, + const char *str, unsigned long long *qemuCmdFlags, unsigned int *version, unsigned int *is_kvm, diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 0f2b509..ad355d7 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -49,7 +49,8 @@ static int testHelpStrParsing(const void *data) if (virtTestLoadFile(path, &help, MAX_HELP_OUTPUT_SIZE) < 0) return -1;
- if (qemudParseHelpStr(help, &flags, &version, &is_kvm, &kvm_version) == -1) + if (qemudParseHelpStr("QEMU", help, &flags, + &version, &is_kvm, &kvm_version) == -1) return -1;
if (flags != info->flags) {
ACK,
Daniel
Thanks, pushed this and my other pending error message patches. - Cole
participants (2)
-
Cole Robinson
-
Daniel Veillard