]> git.ipfire.org Git - thirdparty/rrdtool-1.x.git/commitdiff
port 741d4e9 to master -- fix start and end times for xport 561/head
authorTobias Oetiker <tobi@oetiker.ch>
Tue, 18 Nov 2014 09:37:50 +0000 (10:37 +0100)
committerTobias Oetiker <tobi@oetiker.ch>
Tue, 18 Nov 2014 09:37:50 +0000 (10:37 +0100)
src/rrd_xport.c

index 913ebdad9fc4f0f6f66142442b302aad9d32d76e..ec312b12d604bccf90a5b4f4e4383563dcb41fe6 100644 (file)
@@ -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</%s>\n",META_START_TAG,(long long int)start+step,META_START_TAG);
+      snprintf(buf,sizeof(buf),"    <%s>%lld</%s>\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);