Code

store: Simplified sdb_store_host().
[sysdb.git] / src / backend / puppet / store-configs.c
index 84855c65a380e64a47451524bb9f5c10158de24b..6f70f4940d01867645c098b762bb4416e6332066 100644 (file)
@@ -28,7 +28,7 @@
 #include "sysdb.h"
 #include "core/plugin.h"
 #include "core/store.h"
-#include "utils/error.h"
+#include "core/error.h"
 #include "utils/dbi.h"
 
 #include "liboconfig/utils.h"
@@ -52,7 +52,8 @@ sdb_puppet_stcfg_get_hosts(sdb_dbi_client_t __attribute__((unused)) *client,
                size_t n, sdb_data_t *data,
                sdb_object_t __attribute__((unused)) *user_data)
 {
-       sdb_host_t host = SDB_HOST_INIT;
+       const char *hostname;
+       sdb_time_t timestamp;
 
        int status;
 
@@ -60,22 +61,20 @@ sdb_puppet_stcfg_get_hosts(sdb_dbi_client_t __attribute__((unused)) *client,
        assert((data[0].type == SDB_TYPE_STRING)
                        && (data[1].type == SDB_TYPE_DATETIME));
 
-       host._name = strdup(data[0].data.string);
-       host._last_update = data[1].data.datetime;
+       hostname = data[0].data.string;
+       timestamp = data[1].data.datetime;
 
-       status = sdb_store_host(&host);
+       status = sdb_store_host(hostname, timestamp);
 
        if (status < 0) {
                sdb_log(SDB_LOG_ERR, "puppet::store-configs backend: Failed to "
-                               "store/update host '%s'.", host._name);
-               free(host._name);
+                               "store/update host '%s'.", hostname);
                return -1;
        }
        else if (! status)
                sdb_log(SDB_LOG_DEBUG, "puppet::store-configs backend: "
                                "Added/updated host '%s' (last update timestamp = "
-                               "%"PRIscTIME").", host._name, host._last_update);
-       free(host._name);
+                               "%"PRIscTIME").", hostname, timestamp);
        return 0;
 } /* sdb_puppet_stcfg_get_hosts */
 
@@ -95,7 +94,7 @@ sdb_puppet_stcfg_get_attrs(sdb_dbi_client_t __attribute__((unused)) *client,
                        && (data[3].type == SDB_TYPE_DATETIME));
 
        attr.hostname = strdup(data[0].data.string);
-       attr._name = strdup(data[1].data.string);
+       SDB_OBJ(&attr)->name = strdup(data[1].data.string);
        attr.attr_value = strdup(data[2].data.string);
        attr._last_update = data[3].data.datetime;
 
@@ -104,15 +103,15 @@ sdb_puppet_stcfg_get_attrs(sdb_dbi_client_t __attribute__((unused)) *client,
        if (status < 0) {
                sdb_log(SDB_LOG_ERR, "puppet::store-configs backend: Failed to "
                                "store/update host attribute '%s' for host '%s'.",
-                               attr._name, attr.hostname);
+                               SDB_OBJ(&attr)->name, attr.hostname);
                free(attr.hostname);
-               free(attr._name);
+               free(SDB_OBJ(&attr)->name);
                free(attr.attr_value);
                return -1;
        }
 
        free(attr.hostname);
-       free(attr._name);
+       free(SDB_OBJ(&attr)->name);
        free(attr.attr_value);
        return 0;
 } /* sdb_puppet_stcfg_get_attrs */
@@ -323,7 +322,7 @@ sdb_puppet_stcfg_config_conn(oconfig_item_t *ci)
 
        sdb_dbi_client_set_options(client, options);
 
-       user_data = sdb_object_create_wrapper(client,
+       user_data = sdb_object_create_wrapper("dbi-client", client,
                        (void (*)(void *))sdb_dbi_client_destroy);
        if (! user_data) {
                sdb_dbi_client_destroy(client);