[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 3/4] opw: libxl: use LOG and LOGE instead of LIBXL__LOG* in libxl_utils.c

Code cleanup - no functional changes

The convenience macros LOG and LOGE have been written to take the
place of the old macros in the LIBXL__LOG* family. Replace the
invocations of the old macros in the function libxl_read_file_contents()
with invocations of the corresponding new ones. Create a local
libxl__gc gc* for the new macros to use by invoking GC_INIT(ctx) at the
top of the function, and clean it up by invoking GC_FREE at the two
exit points.

Signed-off-by: Kelley Nielsen <kelleynnn@xxxxxxxxx>
Suggested-by: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
 tools/libxl/libxl_utils.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 5238f22..883c594 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -289,6 +289,7 @@ out:
 int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
                              void **data_r, int *datalen_r) {
+    GC_INIT(ctx);
     FILE *f = 0;
     uint8_t *data = 0;
     int datalen = 0;
@@ -299,23 +300,23 @@ int libxl_read_file_contents(libxl_ctx *ctx, const char 
     f = fopen(filename, "r");
     if (!f) {
         if (errno == ENOENT) return ENOENT;
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to open %s", filename);
+        LOGE(ERROR, "failed to open %s", filename);
         goto xe;
     if (fstat(fileno(f), &stab)) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to fstat %s", 
+        LOGE(ERROR, "failed to fstat %s", filename);
         goto xe;
     if (!S_ISREG(stab.st_mode)) {
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "%s is not a plain file", 
+        LOGE(ERROR, "%s is not a plain file", filename);
         errno = ENOTTY;
         goto xe;
     if (stab.st_size > INT_MAX) {
-        LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "file %s is far too large", 
+        LOG(ERROR, "file %s is far too large", filename);
         errno = EFBIG;
         goto xe;
@@ -329,9 +330,9 @@ int libxl_read_file_contents(libxl_ctx *ctx, const char 
         rs = fread(data, 1, datalen, f);
         if (rs != datalen) {
             if (ferror(f))
-                LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to read %s", 
+                LOGE(ERROR, "failed to read %s", filename);
             else if (feof(f))
-                LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "%s changed size while we"
+                LOG(ERROR, "%s changed size while we"
                        " were reading it", filename);
@@ -341,16 +342,18 @@ int libxl_read_file_contents(libxl_ctx *ctx, const char 
     if (fclose(f)) {
         f = 0;
-        LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "failed to close %s", 
+        LOGE(ERROR, "failed to close %s", filename);
         goto xe;
     if (data_r) *data_r = data;
     if (datalen_r) *datalen_r = datalen;
+    GC_FREE;
     return 0;
+    GC_FREE;
     e = errno;
     assert(e != ENOENT);
     if (f) fclose(f);

Xen-devel mailing list



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