From: Florian Forster Date: Mon, 18 Feb 2008 19:53:54 +0000 (+0100) Subject: Merge branch 'collectd-4.2' X-Git-Tag: collectd-4.3.0~5 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=4cf9eb921f5994d4515613efa8739ce445cfd9a1;hp=f99cbc5ea9873ce331c27fa698396fdc0cd02d68;p=collectd.git Merge branch 'collectd-4.2' --- diff --git a/contrib/migrate-3-4.px b/contrib/migrate-3-4.px index 31abae4b..e50c0cdf 100755 --- a/contrib/migrate-3-4.px +++ b/contrib/migrate-3-4.px @@ -95,6 +95,7 @@ our %Subdirs = our %TypeTranslate = ( cpu => sub { $_ = shift; $_->{'plugin_instance'} = $_->{'type_instance'}; $_->{'type_instance'} = undef; $_; }, + hddtemp => sub { $_ = shift; $_->{'plugin'} = 'hddtemp'; $_->{'type'} = 'temperature'; $_->{'type_instance'} = _special_disk_instance ($_->{'type_instance'}); $_; }, if_errors => sub { $_ = shift; $_->{'type_instance'} = $_->{'plugin_instance'}; $_->{'plugin_instance'} = undef; $_; }, if_packets => sub { $_ = shift; $_->{'type_instance'} = $_->{'plugin_instance'}; $_->{'plugin_instance'} = undef; $_; }, nfs2_procedures => sub { $_ = shift; @$_{qw(plugin plugin_instance type type_instance)} = ('nfs', 'v2' . $_->{'type_instance'}, 'nfs_procedure', undef); $_; }, diff --git a/src/rrdtool.c b/src/rrdtool.c index dc06d68a..024b04e5 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -893,6 +893,19 @@ static int rrd_cache_insert (const char *filename, return (0); } /* int rrd_cache_insert */ +static int rrd_compare_numeric (const void *a_ptr, const void *b_ptr) +{ + int a = *((int *) a_ptr); + int b = *((int *) b_ptr); + + if (a < b) + return (-1); + else if (a > b) + return (1); + else + return (0); +} /* int rrd_compare_numeric */ + static int rrd_write (const data_set_t *ds, const value_list_t *vl) { struct stat statbuf; @@ -1031,6 +1044,12 @@ static int rrd_config (const char *key, const char *value) if (rra_timespans_custom[rra_timespans_custom_num] != 0) rra_timespans_custom_num++; } /* while (strtok_r) */ + + qsort (/* base = */ rra_timespans_custom, + /* nmemb = */ rra_timespans_custom_num, + /* size = */ sizeof (rra_timespans_custom[0]), + /* compar = */ rrd_compare_numeric); + free (value_copy); } else if (strcasecmp ("XFF", key) == 0)