Let plugin_dispatch_values() set value_list.time in case of 'now'.
[collectd.git] / src / perl.c
index d3e8c29..b5965d6 100644 (file)
@@ -36,7 +36,7 @@
 #include <EXTERN.h>
 #include <perl.h>
 
-#if __GNUC__
+#if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__
 # pragma GCC poison sprintf
 #endif
 
@@ -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;