[libvirt] [PATCH 4/9] iptables.c: Use virStrerror, not strerror.

Jim Meyering jim at meyering.net
Mon Feb 2 17:08:17 UTC 2009


From: Jim Meyering <meyering at redhat.com>

* src/iptables.c: Include "virterror_internal.h".
Use virStrerror, not strerror.
* src/virterror.c (virStrerror): Remove "static".
* src/virterror_internal.h (virStrerror): Declare it.
---
 src/iptables.c           |   25 ++++++++++++++++---------
 src/virterror.c          |    2 +-
 src/virterror_internal.h |    3 ++-
 3 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/src/iptables.c b/src/iptables.c
index ad7fddf..81c976b 100644
--- a/src/iptables.c
+++ b/src/iptables.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007, 2008 Red Hat, Inc.
+ * Copyright (C) 2007-2009 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -44,6 +44,7 @@
 #include "iptables.h"
 #include "util.h"
 #include "memory.h"
+#include "virterror_internal.h"

 #define qemudLog(level, msg...) fprintf(stderr, msg)

@@ -98,9 +99,10 @@ notifyRulesUpdated(const char *table,
     argv[2] = arg;
     argv[3] = NULL;

+    char ebuf[1024];
     if (virRun(NULL, argv, NULL) < 0)
-        qemudLog(QEMUD_WARN, _("Failed to run '" LOKKIT_PATH
-                               " %s' : %s"), arg, strerror(errno));
+        qemudLog(QEMUD_WARN, _("Failed to run '" LOKKIT_PATH " %s': %s"),
+                 arg, virStrerror(errno, ebuf, sizeof ebuf));
 }

 static int
@@ -174,10 +176,11 @@ notifyRulesRemoved(const char *table,

     return;

- write_error:
+ write_error:;
+    char ebuf[1024];
     qemudLog(QEMUD_WARN, _("Failed to write to " SYSCONF_DIR
                            "/sysconfig/system-config-firewall : %s"),
-             strerror(errno));
+             virStrerror(errno, ebuf, sizeof ebuf));
     if (f)
         fclose(f);
     VIR_FREE(content);
@@ -239,15 +242,16 @@ iptRulesSave(iptRules *rules)
 #ifdef ENABLE_IPTABLES_LOKKIT
     int err;

+    char ebuf[1024];
     if ((err = virFileMakePath(rules->dir))) {
         qemudLog(QEMUD_WARN, _("Failed to create directory %s : %s"),
-                 rules->dir, strerror(err));
+                 rules->dir, virStrerror(err, ebuf, sizeof ebuf));
         return;
     }

     if ((err = writeRules(rules->path, rules->rules, rules->nrules))) {
         qemudLog(QEMUD_WARN, _("Failed to saves iptables rules to %s : %s"),
-                 rules->path, strerror(err));
+                 rules->path, virStrerror(err, ebuf, sizeof ebuf));
         return;
     }

@@ -540,6 +544,7 @@ static void
 iptRulesReload(iptRules *rules)
 {
     int i;
+    char ebuf[1024];

     for (i = 0; i < rules->nrules; i++) {
         iptRule *rule = &rules->rules[i];
@@ -552,7 +557,8 @@ iptRulesReload(iptRules *rules)
             qemudLog(QEMUD_WARN,
                      _("Failed to remove iptables rule '%s'"
                        " from chain '%s' in table '%s': %s"),
-                     rule->rule, rules->chain, rules->table, strerror(errno));
+                     rule->rule, rules->chain, rules->table,
+                     virStrerror(errno, ebuf, sizeof ebuf));

         rule->argv[rule->command_idx] = orig;
     }
@@ -561,7 +567,8 @@ iptRulesReload(iptRules *rules)
         if (virRun(NULL, rules->rules[i].argv, NULL) < 0)
             qemudLog(QEMUD_WARN, _("Failed to add iptables rule '%s'"
                                    " to chain '%s' in table '%s': %s"),
-                     rules->rules[i].rule, rules->chain, rules->table, strerror(errno));
+                     rules->rules[i].rule, rules->chain, rules->table,
+                     virStrerror(errno, ebuf, sizeof ebuf));
 }

 /**
diff --git a/src/virterror.c b/src/virterror.c
index 160fea3..6c479f4 100644
--- a/src/virterror.c
+++ b/src/virterror.c
@@ -1005,7 +1005,7 @@ void virReportErrorHelper(virConnectPtr conn, int domcode, int errcode,

 }

-static const char *virStrerror(int theerrno, char *errBuf, size_t errBufLen)
+const char *virStrerror(int theerrno, char *errBuf, size_t errBufLen)
 {
 #ifdef HAVE_STRERROR_R
 # ifdef __USE_GNU
diff --git a/src/virterror_internal.h b/src/virterror_internal.h
index 3a11705..709c8ec 100644
--- a/src/virterror_internal.h
+++ b/src/virterror_internal.h
@@ -1,7 +1,7 @@
 /*
  * virterror.h: internal error handling
  *
- * Copyright (C) 2006-2008 Red Hat, Inc.
+ * Copyright (C) 2006-2009 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -81,5 +81,6 @@ void virReportOOMErrorFull(virConnectPtr conn,

 void virSetGlobalError(void);
 void virSetConnError(virConnectPtr conn);
+const char *virStrerror(int theerrno, char *errBuf, size_t errBufLen);

 #endif
-- 
1.6.1.2.418.gd79e6




More information about the libvir-list mailing list