[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] tools/toollog: Drop XTL_NEW_LOGGER()
XTL_NEW_LOGGER() makes a number of unreasonable assumptions about the symbols visible in its scope, and as such is only usable by its sole caller. Remove it. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libs/toollog/include/xentoollog.h | 21 --------------------- tools/libs/toollog/xtl_logger_stdio.c | 30 ++++++++++++++++++------------ 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/tools/libs/toollog/include/xentoollog.h b/tools/libs/toollog/include/xentoollog.h index 853e9c7..2b5bfcb 100644 --- a/tools/libs/toollog/include/xentoollog.h +++ b/tools/libs/toollog/include/xentoollog.h @@ -112,25 +112,4 @@ void xtl_progress(struct xentoollog_logger *logger, const char *xtl_level_to_string(xentoollog_level); /* never fails */ - -#define XTL_NEW_LOGGER(LOGGER,buffer) ({ \ - xentoollog_logger_##LOGGER *new_consumer; \ - \ - (buffer).vtable.vmessage = LOGGER##_vmessage; \ - (buffer).vtable.progress = LOGGER##_progress; \ - (buffer).vtable.destroy = LOGGER##_destroy; \ - \ - new_consumer = malloc(sizeof(*new_consumer)); \ - if (!new_consumer) { \ - xtl_log((xentoollog_logger*)&buffer, \ - XTL_CRITICAL, errno, "xtl", \ - "failed to allocate memory for new message logger"); \ - } else { \ - *new_consumer = buffer; \ - } \ - \ - new_consumer; \ -}); - - #endif /* XENTOOLLOG_H */ diff --git a/tools/libs/toollog/xtl_logger_stdio.c b/tools/libs/toollog/xtl_logger_stdio.c index 0cd9206..8bce1a7 100644 --- a/tools/libs/toollog/xtl_logger_stdio.c +++ b/tools/libs/toollog/xtl_logger_stdio.c @@ -165,28 +165,34 @@ void xtl_stdiostream_adjust_flags(xentoollog_logger_stdiostream *lg, xentoollog_logger_stdiostream *xtl_createlogger_stdiostream (FILE *f, xentoollog_level min_level, unsigned flags) { - xentoollog_logger_stdiostream newlogger; - newlogger.f = f; - newlogger.min_level = min_level; - newlogger.flags = flags; + xentoollog_logger_stdiostream *nl = + calloc(sizeof(xentoollog_logger_stdiostream), 1); + + if (!nl) + return NULL; + + nl->vtable.vmessage = stdiostream_vmessage; + nl->vtable.progress = stdiostream_progress; + nl->vtable.destroy = stdiostream_destroy; + + nl->f = f; + nl->min_level = min_level; + nl->flags = flags; switch (flags & (XTL_STDIOSTREAM_PROGRESS_USE_CR | XTL_STDIOSTREAM_PROGRESS_NO_CR)) { - case XTL_STDIOSTREAM_PROGRESS_USE_CR: newlogger.progress_use_cr = 1; break; - case XTL_STDIOSTREAM_PROGRESS_NO_CR: newlogger.progress_use_cr = 0; break; + case XTL_STDIOSTREAM_PROGRESS_USE_CR: nl->progress_use_cr = 1; break; + case XTL_STDIOSTREAM_PROGRESS_NO_CR: nl->progress_use_cr = 0; break; case 0: - newlogger.progress_use_cr = isatty(fileno(newlogger.f)) > 0; + nl->progress_use_cr = isatty(fileno(nl->f)) > 0; break; default: errno = EINVAL; return 0; } - if (newlogger.flags & XTL_STDIOSTREAM_SHOW_DATE) tzset(); - - newlogger.progress_erase_len = 0; - newlogger.progress_last_percent = 0; + if (nl->flags & XTL_STDIOSTREAM_SHOW_DATE) tzset(); - return XTL_NEW_LOGGER(stdiostream, newlogger); + return nl; } -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |