perl plugin: Declare the “environ” variable.
[collectd.git] / src / perl.c
index 81ef720..cc1e974 100644 (file)
@@ -145,6 +145,11 @@ typedef struct {
        } while (0)
 
 /*
+ * Public variable
+ */
+extern char **environ;
+
+/*
  * private variables
  */
 
@@ -1527,6 +1532,9 @@ static XS (Collectd_plugin_register_ds)
 
        dXSARGS;
 
+       log_warn ("Using plugin_register() to register new data-sets is "
+                       "deprecated - add new entries to a custom types.db instead.");
+
        if (2 != items) {
                log_err ("Usage: Collectd::plugin_register_data_set(type, dataset)");
                XSRETURN_EMPTY;
@@ -1907,7 +1915,8 @@ static int perl_read (void)
        return pplugin_call_all (aTHX_ PLUGIN_READ);
 } /* static int perl_read (void) */
 
-static int perl_write (const data_set_t *ds, const value_list_t *vl)
+static int perl_write (const data_set_t *ds, const value_list_t *vl,
+               user_data_t __attribute__((unused)) *user_data)
 {
        dTHX;
 
@@ -1929,7 +1938,8 @@ static int perl_write (const data_set_t *ds, const value_list_t *vl)
        return pplugin_call_all (aTHX_ PLUGIN_WRITE, ds, vl);
 } /* static int perl_write (const data_set_t *, const value_list_t *) */
 
-static void perl_log (int level, const char *msg)
+static void perl_log (int level, const char *msg,
+               user_data_t __attribute__((unused)) *user_data)
 {
        dTHX;
 
@@ -1950,7 +1960,8 @@ static void perl_log (int level, const char *msg)
        return;
 } /* static void perl_log (int, const char *) */
 
-static int perl_notify (const notification_t *notif)
+static int perl_notify (const notification_t *notif,
+               user_data_t __attribute__((unused)) *user_data)
 {
        dTHX;
 
@@ -1969,7 +1980,8 @@ static int perl_notify (const notification_t *notif)
        return pplugin_call_all (aTHX_ PLUGIN_NOTIF, notif);
 } /* static int perl_notify (const notification_t *) */
 
-static int perl_flush (int timeout, const char *identifier)
+static int perl_flush (int timeout, const char *identifier,
+               user_data_t __attribute__((unused)) *user_data)
 {
        dTHX;
 
@@ -2215,14 +2227,15 @@ static int init_pi (int argc, char **argv)
 
        perl_run (aTHX);
 
-       plugin_register_log ("perl", perl_log);
-       plugin_register_notification ("perl", perl_notify);
+       plugin_register_log ("perl", perl_log, /* user_data = */ NULL);
+       plugin_register_notification ("perl", perl_notify,
+                       /* user_data = */ NULL);
        plugin_register_init ("perl", perl_init);
 
        plugin_register_read ("perl", perl_read);
 
-       plugin_register_write ("perl", perl_write);
-       plugin_register_flush ("perl", perl_flush);
+       plugin_register_write ("perl", perl_write, /* user_data = */ NULL);
+       plugin_register_flush ("perl", perl_flush, /* user_data = */ NULL);
        plugin_register_shutdown ("perl", perl_shutdown);
        return 0;
 } /* static int init_pi (const char **, const int) */