Code

disk plugin: fix typo in comment
[collectd.git] / src / mbmon.c
index 7694abc5dd04e8e39b9ece4015dfece8d7e62195..9629b8960d67da5960f957d89f48bfd0c40f500c 100644 (file)
@@ -1,6 +1,7 @@
 /**
  * collectd - src/mbmon.c
- * Copyright (C) 2006 Flavio Stanchina
+ * Copyright (C) 2006       Flavio Stanchina
+ * Copyright (C) 2006-2007  Florian octo Forster
  * Based on the hddtemp plugin.
  *
  * This program is free software; you can redistribute it and/or modify it
  *
  * Authors:
  *   Flavio Stanchina <flavio at stanchina.net>
+ *   Florian Forster <octo at collectd.org>
  **/
 
 #include "collectd.h"
+
 #include "common.h"
 #include "plugin.h"
-#include "configfile.h"
-
-#if HAVE_NETDB_H && HAVE_SYS_SOCKET_H && HAVE_NETINET_IN_H && HAVE_NETINET_TCP_H
-# include <netdb.h>
-# include <sys/socket.h>
-# include <netinet/in.h>
-# include <netinet/tcp.h>
-# define MBMON_HAVE_READ 1
-#else
-# define MBMON_HAVE_READ 0
-#endif
+
+#include <netdb.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
 
 #define MBMON_DEF_HOST "127.0.0.1"
 #define MBMON_DEF_PORT "411" /* the default for Debian */
@@ -47,7 +43,6 @@ static const char *config_keys[] =
 };
 static int config_keys_num = 2;
 
-#if MBMON_HAVE_READ
 static char *mbmon_host = NULL;
 static char *mbmon_port = NULL;
 
@@ -89,19 +84,9 @@ static int mbmon_query_daemon (char *buffer, int buffer_size)
        const char *host;
        const char *port;
 
-       struct addrinfo  ai_hints;
-       struct addrinfo *ai_list, *ai_ptr;
+       struct addrinfo *ai_list;
        int              ai_return;
 
-       memset (&ai_hints, '\0', sizeof (ai_hints));
-       ai_hints.ai_flags    = 0;
-#ifdef AI_ADDRCONFIG
-       ai_hints.ai_flags   |= AI_ADDRCONFIG;
-#endif
-       ai_hints.ai_family   = PF_UNSPEC;
-       ai_hints.ai_socktype = SOCK_STREAM;
-       ai_hints.ai_protocol = IPPROTO_TCP;
-
        host = mbmon_host;
        if (host == NULL)
                host = MBMON_DEF_HOST;
@@ -110,6 +95,13 @@ static int mbmon_query_daemon (char *buffer, int buffer_size)
        if (port == NULL)
                port = MBMON_DEF_PORT;
 
+       struct addrinfo ai_hints = {
+               .ai_family = AF_UNSPEC,
+               .ai_flags = AI_ADDRCONFIG,
+               .ai_protocol = IPPROTO_TCP,
+               .ai_socktype = SOCK_STREAM
+       };
+
        if ((ai_return = getaddrinfo (host, port, &ai_hints, &ai_list)) != 0)
        {
                char errbuf[1024];
@@ -122,7 +114,7 @@ static int mbmon_query_daemon (char *buffer, int buffer_size)
        }
 
        fd = -1;
-       for (ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next)
+       for (struct addrinfo *ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next)
        {
                /* create our socket descriptor */
                if ((fd = socket (ai_ptr->ai_family, ai_ptr->ai_socktype, ai_ptr->ai_protocol)) < 0)
@@ -138,7 +130,7 @@ static int mbmon_query_daemon (char *buffer, int buffer_size)
                if (connect (fd, (struct sockaddr *) ai_ptr->ai_addr, ai_ptr->ai_addrlen))
                {
                        char errbuf[1024];
-                       DEBUG ("mbmon: connect (%s, %s): %s", host, port,
+                       INFO ("mbmon: connect (%s, %s): %s", host, port,
                                        sstrerror (errno, errbuf,
                                                sizeof (errbuf)));
                        close (fd);
@@ -233,20 +225,18 @@ static void mbmon_submit (const char *type, const char *type_instance,
 
        vl.values = values;
        vl.values_len = 1;
-       vl.time = time (NULL);
-       strcpy (vl.host, hostname_g);
-       strcpy (vl.plugin, "mbmon");
-       strncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
+       sstrncpy (vl.host, hostname_g, sizeof (vl.host));
+       sstrncpy (vl.plugin, "mbmon", sizeof (vl.plugin));
+       sstrncpy (vl.type, type, sizeof (vl.type));
+       sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
 
-       plugin_dispatch_values (type, &vl);
+       plugin_dispatch_values (&vl);
 } /* void mbmon_submit */
 
 /* Trim trailing whitespace from a string. */
 static void trim_spaces (char *s)
 {
-       size_t l;
-
-       for (l = strlen (s) - 1; (l > 0) && isspace (s[l]); l--)
+       for (size_t l = strlen (s) - 1; (l > 0) && isspace ((int) s[l]); l--)
                s[l] = '\0';
 }
 
@@ -265,8 +255,8 @@ static int mbmon_read (void)
                double value;
                char *nextc;
 
-               char *type;
-               char *inst;
+               const char *type;
+               const char *inst;
 
                *t++ = '\0';
                trim_spaces (s);
@@ -308,14 +298,11 @@ static int mbmon_read (void)
 
        return (0);
 } /* void mbmon_read */
-#endif /* MBMON_HAVE_READ */
 
 /* module_register
    Register collectd plugin. */
 void module_register (void)
 {
-#if MBMON_HAVE_READ
        plugin_register_config ("mbmon", mbmon_config, config_keys, config_keys_num);
        plugin_register_read ("mbmon", mbmon_read);
-#endif /* MBMON_HAVE_READ */
 } /* void module_register */