[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.