Added "type" to the value_list_t struct.
[collectd.git] / src / nut.c
index bde5d82..bcb0ae9 100644 (file)
--- a/src/nut.c
+++ b/src/nut.c
 #include "common.h"
 #include "plugin.h"
 
-#if HAVE_PTHREAD_H
-# include <pthread.h>
-#endif
-
-#if HAVE_UPSCLIENT_H
-# include <upsclient.h>
+#include <pthread.h>
+#include <upsclient.h>
+
+#if HAVE_UPSCONN_T
+typedef UPSCONN_t collectd_upsconn_t;
+#elif HAVE_UPSCONN
+typedef UPSCONN collectd_upsconn_t;
+#else
+# error "Unable to determine the UPS connection type."
 #endif
 
 struct nut_ups_s;
 typedef struct nut_ups_s nut_ups_t;
 struct nut_ups_s
 {
-  UPSCONN   *conn;
+  collectd_upsconn_t *conn;
   char      *upsname;
   char      *hostname;
   int        port;
@@ -128,13 +131,14 @@ static void nut_submit (nut_ups_t *ups, const char *type,
       sizeof (vl.host));
   strcpy (vl.plugin, "nut");
   strncpy (vl.plugin_instance, ups->upsname, sizeof (vl.plugin_instance));
+  strncpy (vl.type, type, sizeof (vl.type));
   strncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
 
   vl.host[sizeof (vl.host) - 1] = '\0';
   vl.plugin_instance[sizeof (vl.plugin_instance) - 1] = '\0';
   vl.type_instance[sizeof (vl.type_instance) - 1] = '\0';
 
-  plugin_dispatch_values (type, &vl);
+  plugin_dispatch_values (&vl);
 } /* void nut_submit */
 
 static int nut_read_one (nut_ups_t *ups)
@@ -148,7 +152,7 @@ static int nut_read_one (nut_ups_t *ups)
   /* (Re-)Connect if we have no connection */
   if (ups->conn == NULL)
   {
-    ups->conn = (UPSCONN *) malloc (sizeof (UPSCONN));
+    ups->conn = (collectd_upsconn_t *) malloc (sizeof (collectd_upsconn_t));
     if (ups->conn == NULL)
     {
       ERROR ("nut plugin: malloc failed.");