diff mbox

[1/2] stubs: add error_report()

Message ID 1377088001-8783-2-git-send-email-stefanha@redhat.com
State New
Headers show

Commit Message

Stefan Hajnoczi Aug. 21, 2013, 12:26 p.m. UTC
The error report function is preferred over fprintf(stderr, ...) since
it prints to the current monitor, if any.

Add a stub error_report() implementation that just prints to stderr.
This is suitable in environments where there is no QEMU monitor, such as
libcacard.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 stubs/Makefile.objs  |  1 +
 stubs/error-report.c | 12 ++++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 stubs/error-report.c

Comments

Markus Armbruster Aug. 21, 2013, 1:04 p.m. UTC | #1
Stefan Hajnoczi <stefanha@redhat.com> writes:

> The error report function is preferred over fprintf(stderr, ...) since
> it prints to the current monitor, if any.
>
> Add a stub error_report() implementation that just prints to stderr.
> This is suitable in environments where there is no QEMU monitor, such as
> libcacard.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  stubs/Makefile.objs  |  1 +
>  stubs/error-report.c | 12 ++++++++++++
>  2 files changed, 13 insertions(+)
>  create mode 100644 stubs/error-report.c
>
> diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
> index f306cba..f84d597 100644
> --- a/stubs/Makefile.objs
> +++ b/stubs/Makefile.objs
> @@ -3,6 +3,7 @@ stub-obj-y += clock-warp.o
>  stub-obj-y += cpu-get-clock.o
>  stub-obj-y += cpu-get-icount.o
>  stub-obj-y += dump.o
> +stub-obj-y += error-report.o
>  stub-obj-y += fdset-add-fd.o
>  stub-obj-y += fdset-find-fd.o
>  stub-obj-y += fdset-get-fd.o
> diff --git a/stubs/error-report.c b/stubs/error-report.c
> new file mode 100644
> index 0000000..e39d0a9
> --- /dev/null
> +++ b/stubs/error-report.c
> @@ -0,0 +1,12 @@
> +#include <stdio.h>
> +#include "qemu/error-report.h"
> +
> +void error_report(const char *fmt, ...)
> +{
> +    va_list ap;
> +
> +    va_start(ap, fmt);
> +    vfprintf(stderr, fmt, ap);
> +    va_end(ap);
> +    fprintf(stderr, "\n");
> +}

We already have a monitor stubs (mon-set-error.c mon-printf.c ...) so we
can use error_report() in utility programs.  Why doesn't that suffice
here?
Stefan Hajnoczi Aug. 21, 2013, 1:15 p.m. UTC | #2
On Wed, Aug 21, 2013 at 03:04:02PM +0200, Markus Armbruster wrote:
> Stefan Hajnoczi <stefanha@redhat.com> writes:
> 
> > The error report function is preferred over fprintf(stderr, ...) since
> > it prints to the current monitor, if any.
> >
> > Add a stub error_report() implementation that just prints to stderr.
> > This is suitable in environments where there is no QEMU monitor, such as
> > libcacard.
> >
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> >  stubs/Makefile.objs  |  1 +
> >  stubs/error-report.c | 12 ++++++++++++
> >  2 files changed, 13 insertions(+)
> >  create mode 100644 stubs/error-report.c
> >
> > diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
> > index f306cba..f84d597 100644
> > --- a/stubs/Makefile.objs
> > +++ b/stubs/Makefile.objs
> > @@ -3,6 +3,7 @@ stub-obj-y += clock-warp.o
> >  stub-obj-y += cpu-get-clock.o
> >  stub-obj-y += cpu-get-icount.o
> >  stub-obj-y += dump.o
> > +stub-obj-y += error-report.o
> >  stub-obj-y += fdset-add-fd.o
> >  stub-obj-y += fdset-find-fd.o
> >  stub-obj-y += fdset-get-fd.o
> > diff --git a/stubs/error-report.c b/stubs/error-report.c
> > new file mode 100644
> > index 0000000..e39d0a9
> > --- /dev/null
> > +++ b/stubs/error-report.c
> > @@ -0,0 +1,12 @@
> > +#include <stdio.h>
> > +#include "qemu/error-report.h"
> > +
> > +void error_report(const char *fmt, ...)
> > +{
> > +    va_list ap;
> > +
> > +    va_start(ap, fmt);
> > +    vfprintf(stderr, fmt, ap);
> > +    va_end(ap);
> > +    fprintf(stderr, "\n");
> > +}
> 
> We already have a monitor stubs (mon-set-error.c mon-printf.c ...) so we
> can use error_report() in utility programs.  Why doesn't that suffice
> here?

Good idea.  I'll resend with util/qemu-error.o linked in.

Stefan
diff mbox

Patch

diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index f306cba..f84d597 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -3,6 +3,7 @@  stub-obj-y += clock-warp.o
 stub-obj-y += cpu-get-clock.o
 stub-obj-y += cpu-get-icount.o
 stub-obj-y += dump.o
+stub-obj-y += error-report.o
 stub-obj-y += fdset-add-fd.o
 stub-obj-y += fdset-find-fd.o
 stub-obj-y += fdset-get-fd.o
diff --git a/stubs/error-report.c b/stubs/error-report.c
new file mode 100644
index 0000000..e39d0a9
--- /dev/null
+++ b/stubs/error-report.c
@@ -0,0 +1,12 @@ 
+#include <stdio.h>
+#include "qemu/error-report.h"
+
+void error_report(const char *fmt, ...)
+{
+    va_list ap;
+
+    va_start(ap, fmt);
+    vfprintf(stderr, fmt, ap);
+    va_end(ap);
+    fprintf(stderr, "\n");
+}