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.jack...@eu.citrix.com> --- 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@lists.xen.org http://lists.xen.org/xen-devel