From 69fc6bd45015fb7fffc0766b6badcd7dfd0d90d5 Mon Sep 17 00:00:00 2001 From: Tobias Oetiker Date: Tue, 18 Nov 2014 10:37:50 +0100 Subject: [PATCH] port 741d4e9 to master -- fix start and end times for xport --- src/rrd_xport.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/rrd_xport.c b/src/rrd_xport.c index 913ebdad..ec312b12 100644 --- a/src/rrd_xport.c +++ b/src/rrd_xport.c @@ -335,8 +335,14 @@ int rrd_xport_fn( free(step_list); *start = im->start - im->start % (*step); - *end = im->end - im->end % (*step) + (*step); - + if ( im->start > *start ) { + *start = *start + *step; + } + + *end = im->end - im->end % (*step); + if ( im->end > *end ) { + *end = *end + *step; + } /* room for rearranged data */ /* this is a return value! */ @@ -634,9 +640,9 @@ int rrd_xport_format_xmljson(int flags,stringbuffer_t *buffer,image_desc_t *im,t } } else { if (json) { - snprintf(buf,sizeof(buf)," \"%s\": %lld,\n",META_START_TAG,(long long int)start+step); + snprintf(buf,sizeof(buf)," \"%s\": %lld,\n",META_START_TAG,(long long int)start); } else { - snprintf(buf,sizeof(buf)," <%s>%lld\n",META_START_TAG,(long long int)start+step,META_START_TAG); + snprintf(buf,sizeof(buf)," <%s>%lld\n",META_START_TAG,(long long int)start,META_START_TAG); } } addToBuffer(buffer,buf,0); @@ -737,7 +743,7 @@ int rrd_xport_format_xmljson(int flags,stringbuffer_t *buffer,image_desc_t *im,t } addToBuffer(buffer,buf,0); /* iterate over data */ - for (time_t ti = start + step; ti < end; ti += step) { + for (time_t ti = start; ti <= end; ti += step) { if (timefmt) { struct tm loc; localtime_r(&ti,&loc); -- 2.47.2