Let plugin_dispatch_values() set value_list.time in case of 'now'.
[collectd.git] / src / perl.c
index 2946ab3..b5965d6 100644 (file)
@@ -640,9 +640,6 @@ static int pplugin_dispatch_values (pTHX_ HV *values)
        if (NULL != (tmp = hv_fetch (values, "time", 4, 0))) {
                list.time = (time_t)SvIV (*tmp);
        }
-       else {
-               list.time = time (NULL);
-       }
 
        if (NULL != (tmp = hv_fetch (values, "host", 4, 0))) {
                sstrncpy (list.host, SvPV_nolen (*tmp), sizeof (list.host));
@@ -1092,7 +1089,7 @@ static XS (Collectd_plugin_log)
                XSRETURN_EMPTY;
        }
 
-       plugin_log (SvIV (ST (0)), SvPV_nolen (ST (1)));
+       plugin_log (SvIV (ST (0)), "%s", SvPV_nolen (ST (1)));
        XSRETURN_YES;
 } /* static XS (Collectd_plugin_log) */
 
@@ -1790,7 +1787,7 @@ static int perl_config (oconfig_item_t *ci)
 
        for (i = 0; i < ci->children_num; ++i) {
                oconfig_item_t *c = ci->children + i;
-               int current_status;
+               int current_status = 0;
 
                if (NULL != perl_threads)
                        aTHX = PERL_GET_CONTEXT;
@@ -1806,7 +1803,10 @@ static int perl_config (oconfig_item_t *ci)
                else if (0 == strcasecmp (c->key, "Plugin"))
                        current_status = perl_config_plugin (aTHX_ c);
                else
+               {
                        log_warn ("Ignoring unknown config key \"%s\".", c->key);
+                       current_status = 0;
+               }
 
                /* fatal error - it's up to perl_config_* to clean up */
                if (0 > current_status) {