src/collectd.h: Use `#pragma GCC poison' to disable evil functions.
[collectd.git] / src / cpu.c
index ba0c1b1..0daebcc 100644 (file)
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -167,12 +167,12 @@ static void submit (int cpu_num, const char *type_instance, counter_t value)
        vl.values = values;
        vl.values_len = 1;
        vl.time = time (NULL);
-       strcpy (vl.host, hostname_g);
-       strcpy (vl.plugin, "cpu");
+       sstrncpy (vl.host, hostname_g, sizeof (vl.host));
+       sstrncpy (vl.plugin, "cpu", sizeof (vl.plugin));
        snprintf (vl.plugin_instance, sizeof (vl.type_instance),
                        "%i", cpu_num);
        vl.plugin_instance[DATA_MAX_NAME_LEN - 1] = '\0';
-       strcpy (vl.type_instance, type_instance);
+       sstrncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
 
        plugin_dispatch_values ("cpu", &vl);
 }
@@ -277,20 +277,14 @@ static int cpu_read (void)
        char *fields[9];
        int numfields;
 
-       static complain_t complain_obj;
-
        if ((fh = fopen ("/proc/stat", "r")) == NULL)
        {
                char errbuf[1024];
-               plugin_complain (LOG_ERR, &complain_obj, "cpu plugin: "
-                               "fopen (/proc/stat) failed: %s",
+               ERROR ("cpu plugin: fopen (/proc/stat) failed: %s",
                                sstrerror (errno, errbuf, sizeof (errbuf)));
                return (-1);
        }
 
-       plugin_relief (LOG_NOTICE, &complain_obj, "cpu plugin: "
-                       "fopen (/proc/stat) succeeded.");
-
        while (fgets (buf, 1024, fh) != NULL)
        {
                if (strncmp (buf, "cpu", 3))
@@ -360,22 +354,16 @@ static int cpu_read (void)
        long cpuinfo[CPUSTATES];
        size_t cpuinfo_size;
 
-       static complain_t complain_obj;
-
        cpuinfo_size = sizeof (cpuinfo);
 
        if (sysctlbyname("kern.cp_time", &cpuinfo, &cpuinfo_size, NULL, 0) < 0)
        {
                char errbuf[1024];
-               plugin_complain (LOG_ERR, &complain_obj, "cpu plugin: "
-                               "sysctlbyname failed: %s.",
+               ERROR ("cpu plugin: sysctlbyname failed: %s.",
                                sstrerror (errno, errbuf, sizeof (errbuf)));
                return (-1);
        }
 
-       plugin_relief (LOG_NOTICE, &complain_obj, "cpu plugin: "
-                       "sysctlbyname succeeded.");
-
        cpuinfo[CP_SYS] += cpuinfo[CP_INTR];
 
        submit (0, "user", cpuinfo[CP_USER]);