error: New error_printf() and error_vprintf()
This commit is contained in:
parent
2f7920166d
commit
ba0fe87acd
51
qemu-error.c
51
qemu-error.c
@ -1,18 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Error reporting
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Red Hat Inc.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Markus Armbruster <armbru@redhat.com>,
|
||||||
|
*
|
||||||
|
* 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 <stdio.h>
|
#include <stdio.h>
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "sysemu.h"
|
#include "sysemu.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print to current monitor if we have one, else to stderr.
|
||||||
|
* TODO should return int, so callers can calculate width, but that
|
||||||
|
* requires surgery to monitor_vprintf(). Left for another day.
|
||||||
|
*/
|
||||||
|
void error_vprintf(const char *fmt, va_list ap)
|
||||||
|
{
|
||||||
|
if (cur_mon) {
|
||||||
|
monitor_vprintf(cur_mon, fmt, ap);
|
||||||
|
} else {
|
||||||
|
vfprintf(stderr, fmt, ap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print to current monitor if we have one, else to stderr.
|
||||||
|
* TODO just like error_vprintf()
|
||||||
|
*/
|
||||||
|
void error_printf(const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start(ap, fmt);
|
||||||
|
error_vprintf(fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
void qemu_error(const char *fmt, ...)
|
void qemu_error(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list ap;
|
||||||
|
|
||||||
va_start(args, fmt);
|
va_start(ap, fmt);
|
||||||
if (cur_mon) {
|
error_vprintf(fmt, ap);
|
||||||
monitor_vprintf(cur_mon, fmt, args);
|
va_end(ap);
|
||||||
} else {
|
|
||||||
vfprintf(stderr, fmt, args);
|
|
||||||
}
|
|
||||||
va_end(args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qemu_error_internal(const char *file, int linenr, const char *func,
|
void qemu_error_internal(const char *file, int linenr, const char *func,
|
||||||
|
14
qemu-error.h
14
qemu-error.h
@ -1,6 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* Error reporting
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 Red Hat Inc.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Markus Armbruster <armbru@redhat.com>,
|
||||||
|
*
|
||||||
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
* See the COPYING file in the top-level directory.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef QEMU_ERROR_H
|
#ifndef QEMU_ERROR_H
|
||||||
#define QEMU_ERROR_H
|
#define QEMU_ERROR_H
|
||||||
|
|
||||||
|
void error_vprintf(const char *fmt, va_list ap);
|
||||||
|
void error_printf(const char *fmt, ...) __attribute__ ((format(printf, 1, 2)));
|
||||||
void qemu_error(const char *fmt, ...) __attribute__ ((format(printf, 1, 2)));
|
void qemu_error(const char *fmt, ...) __attribute__ ((format(printf, 1, 2)));
|
||||||
void qemu_error_internal(const char *file, int linenr, const char *func,
|
void qemu_error_internal(const char *file, int linenr, const char *func,
|
||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user