qemu-error.c 685 字节
Newer Older
1 2 3 4 5 6 7 8
#include <stdio.h>
#include "monitor.h"
#include "sysemu.h"

void qemu_error(const char *fmt, ...)
{
    va_list args;

9 10 11 12 13
    va_start(args, fmt);
    if (cur_mon) {
        monitor_vprintf(cur_mon, fmt, args);
    } else {
        vfprintf(stderr, fmt, args);
14
    }
15
    va_end(args);
16 17 18 19 20 21 22 23 24 25 26 27
}

void qemu_error_internal(const char *file, int linenr, const char *func,
                         const char *fmt, ...)
{
    va_list va;
    QError *qerror;

    va_start(va, fmt);
    qerror = qerror_from_info(file, linenr, func, fmt, &va);
    va_end(va);

28 29 30
    if (cur_mon) {
        monitor_set_error(cur_mon, qerror);
    } else {
31 32 33 34
        qerror_print(qerror);
        QDECREF(qerror);
    }
}