[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1/3] xl: Break out flush_stream
We are going to want to reuse this. Adjust the code slightly to detect right away call sites that pass something other than stdout or stderr. No resulting functional change. Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> --- v2: New patch in this version of the mini-series --- tools/libxl/xl_cmdimpl.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index c858068..ee55786 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -389,6 +389,20 @@ static yajl_gen_status printf_info_one_json(yajl_gen hand, int domid, out: return s; } + +static void flush_stream(FILE *fh) +{ + const char *fh_name = + fh == stdout ? "stdout" : + fh == stderr ? "stderr" : + (abort(), (const char*)0); + + if (ferror(fh) || fflush(fh)) { + perror(fh_name); + exit(-1); + } +} + static void printf_info(enum output_format output_format, int domid, libxl_domain_config *d_config, FILE *fh) @@ -424,13 +438,7 @@ out: fprintf(stderr, "unable to format domain config as JSON (YAJL:%d)\n", s); - if (ferror(fh) || fflush(fh)) { - if (fh == stdout) - perror("stdout"); - else - perror("stderr"); - exit(-1); - } + flush_stream(fh); } static int do_daemonize(char *name) -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |