Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
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