Merge branch 'collectd-4.4'
[collectd.git] / src / rrdtool.c
index b3bc381..7cf2436 100644 (file)
@@ -291,12 +291,16 @@ static int ds_get (char ***ret, const data_set_t *ds, const value_list_t *vl)
                }
 
                if (isnan (d->min))
-                       strcpy (min, "U");
+               {
+                       sstrncpy (min, "U", sizeof (min));
+               }
                else
                        ssnprintf (min, sizeof (min), "%lf", d->min);
 
                if (isnan (d->max))
-                       strcpy (max, "U");
+               {
+                       sstrncpy (max, "U", sizeof (max));
+               }
                else
                        ssnprintf (max, sizeof (max), "%lf", d->max);
 
@@ -332,14 +336,14 @@ static int ds_get (char ***ret, const data_set_t *ds, const value_list_t *vl)
 
 #if HAVE_THREADSAFE_LIBRRD
 static int srrd_create (char *filename, unsigned long pdp_step, time_t last_up,
-               int argc, char **argv)
+               int argc, const char **argv)
 {
        int status;
 
        optind = 0; /* bug in librrd? */
        rrd_clear_error ();
 
-       status = rrd_create_r (filename, pdp_step, last_up, argc, argv);
+       status = rrd_create_r (filename, pdp_step, last_up, argc, (void *) argv);
 
        if (status != 0)
        {
@@ -350,14 +354,15 @@ static int srrd_create (char *filename, unsigned long pdp_step, time_t last_up,
        return (status);
 } /* int srrd_create */
 
-static int srrd_update (char *filename, char *template, int argc, char **argv)
+static int srrd_update (char *filename, char *template,
+               int argc, const char **argv)
 {
        int status;
 
        optind = 0; /* bug in librrd? */
        rrd_clear_error ();
 
-       status = rrd_update_r (filename, template, argc, argv);
+       status = rrd_update_r (filename, template, argc, (void *) argv);
 
        if (status != 0)
        {
@@ -371,7 +376,7 @@ static int srrd_update (char *filename, char *template, int argc, char **argv)
 
 #else /* !HAVE_THREADSAFE_LIBRRD */
 static int srrd_create (char *filename, unsigned long pdp_step, time_t last_up,
-               int argc, char **argv)
+               int argc, const char **argv)
 {
        int status;
 
@@ -423,7 +428,8 @@ static int srrd_create (char *filename, unsigned long pdp_step, time_t last_up,
        return (status);
 } /* int srrd_create */
 
-static int srrd_update (char *filename, char *template, int argc, char **argv)
+static int srrd_update (char *filename, char *template,
+               int argc, const char **argv)
 {
        int status;
 
@@ -508,7 +514,7 @@ static int rrd_create_file (char *filename, const data_set_t *ds, const value_li
        status = srrd_create (filename,
                        (stepsize > 0) ? stepsize : vl->interval,
                        vl->time - 10,
-                       argc, argv);
+                       argc, (const char **)argv);
 
        free (argv);
        ds_free (ds_num, ds_def);
@@ -648,7 +654,8 @@ static void *rrd_queue_thread (void *data)
                pthread_mutex_unlock (&cache_lock);
 
                /* Write the values to the RRD-file */
-               srrd_update (queue_entry->filename, NULL, values_num, values);
+               srrd_update (queue_entry->filename, NULL,
+                               values_num, (const char **)values);
                DEBUG ("rrdtool plugin: queue thread: Wrote %i values to %s",
                                values_num, queue_entry->filename);
 
@@ -942,9 +949,9 @@ static int rrd_cache_insert (const char *filename,
        }
 
        DEBUG ("rrdtool plugin: rrd_cache_insert: file = %s; "
-                       "values_num = %i; age = %u;",
+                       "values_num = %i; age = %lu;",
                        filename, rc->values_num,
-                       rc->last_value - rc->first_value);
+                       (unsigned long)(rc->last_value - rc->first_value));
 
        if ((rc->last_value - rc->first_value) >= cache_timeout)
        {