Move CDEF start pointers if start of cdef is a step ahead of the start
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 23 Mar 2002 08:53:31 +0000 (08:53 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 23 Mar 2002 08:53:31 +0000 (08:53 +0000)
of the data -- Ashok Mandala <chakri063@yahoo.com>

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@100 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_graph.c

index 04cdc54..166d562 100644 (file)
@@ -816,6 +816,17 @@ printf("DEBUG: value from vdef is %f\n",im->gdes[ptr].vf.val);
                    } /* if OP_VARIABLE */
                } /* loop through all rpi */
 
+                /* move the data pointers to the correct period */
+                for(rpi=0;im->gdes[gdi].rpnp[rpi].op != OP_END;rpi++){
+                    if(im->gdes[gdi].rpnp[rpi].op == OP_VARIABLE){
+                        long ptr = im->gdes[gdi].rpnp[rpi].ptr;
+                        if(im->gdes[gdi].start > im->gdes[ptr].start) {
+                            im->gdes[gdi].rpnp[rpi].data += im->gdes[gdi].rpnp[rpi].ds_cnt;
+                        }
+                     }
+                }
+        
+
                if(steparray == NULL){
                    rrd_set_error("rpn expressions without DEF"
                                " or CDEF variables are not supported");