[PATCH 08/16] virtlogd: convert to typedef virConf accessors

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

 



Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
 po/POTFILES.in                  |  1 -
 src/logging/log_daemon_config.c | 96 ++++++-----------------------------------
 src/logging/log_daemon_config.h |  7 +--
 3 files changed, 15 insertions(+), 89 deletions(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 6689fd8..a6b6c9c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -88,7 +88,6 @@ src/locking/lock_driver_sanlock.c
 src/locking/lock_manager.c
 src/locking/sanlock_helper.c
 src/logging/log_daemon.c
-src/logging/log_daemon_config.c
 src/logging/log_daemon_dispatch.c
 src/logging/log_handler.c
 src/logging/log_manager.c
diff --git a/src/logging/log_daemon_config.c b/src/logging/log_daemon_config.c
index 7bf10c6..10b42e9 100644
--- a/src/logging/log_daemon_config.c
+++ b/src/logging/log_daemon_config.c
@@ -38,61 +38,6 @@
 VIR_LOG_INIT("logging.log_daemon_config");
 
 
-/* A helper function used by each of the following macros.  */
-static int
-checkType(virConfValuePtr p, const char *filename,
-          const char *key, virConfType required_type)
-{
-    if (p->type != required_type) {
-        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                       _("remoteReadConfigFile: %s: %s: invalid type:"
-                         " got %s; expected %s"), filename, key,
-                       virConfTypeToString(p->type),
-                       virConfTypeToString(required_type));
-        return -1;
-    }
-    return 0;
-}
-
-/* If there is no config data for the key, #var_name, then do nothing.
-   If there is valid data of type VIR_CONF_STRING, and VIR_STRDUP succeeds,
-   store the result in var_name.  Otherwise, (i.e. invalid type, or VIR_STRDUP
-   failure), give a diagnostic and "goto" the cleanup-and-fail label.  */
-#define GET_CONF_STR(conf, filename, var_name)                          \
-    do {                                                                \
-        virConfValuePtr p = virConfGetValue(conf, #var_name);           \
-        if (p) {                                                        \
-            if (checkType(p, filename, #var_name, VIR_CONF_STRING) < 0) \
-                goto error;                                             \
-            VIR_FREE(data->var_name);                                   \
-            if (VIR_STRDUP(data->var_name, p->str) < 0)                 \
-                goto error;                                             \
-        }                                                               \
-    } while (0)
-
-/* Like GET_CONF_STR, but for signed integer values.  */
-#define GET_CONF_INT(conf, filename, var_name)                          \
-    do {                                                                \
-        virConfValuePtr p = virConfGetValue(conf, #var_name);           \
-        if (p) {                                                        \
-            if (p->type != VIR_CONF_ULONG &&                            \
-                checkType(p, filename, #var_name, VIR_CONF_LONG) < 0)   \
-                goto error;                                             \
-            data->var_name = p->l;                                      \
-        }                                                               \
-    } while (0)
-
-/* Like GET_CONF_STR, but for unsigned integer values.  */
-#define GET_CONF_UINT(conf, filename, var_name)                         \
-    do {                                                                \
-        virConfValuePtr p = virConfGetValue(conf, #var_name);           \
-        if (p) {                                                        \
-            if (checkType(p, filename, #var_name, VIR_CONF_ULONG) < 0)  \
-                goto error;                                             \
-            data->var_name = p->l;                                      \
-        }                                                               \
-    } while (0)
-
 int
 virLogDaemonConfigFilePath(bool privileged, char **configfile)
 {
@@ -148,21 +93,22 @@ virLogDaemonConfigFree(virLogDaemonConfigPtr data)
 
 static int
 virLogDaemonConfigLoadOptions(virLogDaemonConfigPtr data,
-                              const char *filename,
                               virConfPtr conf)
 {
-    GET_CONF_UINT(conf, filename, log_level);
-    GET_CONF_STR(conf, filename, log_filters);
-    GET_CONF_STR(conf, filename, log_outputs);
-    GET_CONF_UINT(conf, filename, max_clients);
-
-    GET_CONF_UINT(conf, filename, max_size);
-    GET_CONF_UINT(conf, filename, max_backups);
+    if (virConfGetValueUInt(conf, "log_level", &data->log_level) < 0)
+        return -1;
+    if (virConfGetValueString(conf, "log_filters", &data->log_filters) < 0)
+        return -1;
+    if (virConfGetValueString(conf, "log_outputs", &data->log_filters) < 0)
+        return -1;
+    if (virConfGetValueUInt(conf, "max_clients", &data->max_clients) < 0)
+        return -1;
+    if (virConfGetValueSizeT(conf, "max_size", &data->max_size) < 0)
+        return -1;
+    if (virConfGetValueSizeT(conf, "max_backups", &data->max_backups) < 0)
+        return -1;
 
     return 0;
-
- error:
-    return -1;
 }
 
 
@@ -185,23 +131,7 @@ virLogDaemonConfigLoadFile(virLogDaemonConfigPtr data,
     if (!conf)
         return -1;
 
-    ret = virLogDaemonConfigLoadOptions(data, filename, conf);
-    virConfFree(conf);
-    return ret;
-}
-
-int virLogDaemonConfigLoadData(virLogDaemonConfigPtr data,
-                               const char *filename,
-                               const char *filedata)
-{
-    virConfPtr conf;
-    int ret;
-
-    conf = virConfReadMem(filedata, strlen(filedata), 0);
-    if (!conf)
-        return -1;
-
-    ret = virLogDaemonConfigLoadOptions(data, filename, conf);
+    ret = virLogDaemonConfigLoadOptions(data, conf);
     virConfFree(conf);
     return ret;
 }
diff --git a/src/logging/log_daemon_config.h b/src/logging/log_daemon_config.h
index 0da7b0b..72d77d5 100644
--- a/src/logging/log_daemon_config.h
+++ b/src/logging/log_daemon_config.h
@@ -30,10 +30,10 @@ typedef struct _virLogDaemonConfig virLogDaemonConfig;
 typedef virLogDaemonConfig *virLogDaemonConfigPtr;
 
 struct _virLogDaemonConfig {
-    int log_level;
+    unsigned int log_level;
     char *log_filters;
     char *log_outputs;
-    int max_clients;
+    unsigned int max_clients;
 
     size_t max_backups;
     size_t max_size;
@@ -46,8 +46,5 @@ void virLogDaemonConfigFree(virLogDaemonConfigPtr data);
 int virLogDaemonConfigLoadFile(virLogDaemonConfigPtr data,
                                const char *filename,
                                bool allow_missing);
-int virLogDaemonConfigLoadData(virLogDaemonConfigPtr data,
-                               const char *filename,
-                               const char *filedata);
 
 #endif /* __LIBVIRTD_CONFIG_H__ */
-- 
2.7.4

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]