fix use of %s in strftime rrdgraph (G)PRINT commands ... bug (#277) found by Denis...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Fri, 10 Sep 2010 09:16:49 +0000 (09:16 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Fri, 10 Sep 2010 09:16:49 +0000 (09:16 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@2129 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_graph.c

index 898b6ff..3c2795a 100644 (file)
@@ -1582,7 +1582,7 @@ int print_calc(
                 }
             }           /* prepare printval */
 
                 }
             }           /* prepare printval */
 
-            if ((percent_s = strstr(im->gdes[i].format, "%S")) != NULL) {
+            if (!im->gdes[i].strftm && (percent_s = strstr(im->gdes[i].format, "%S")) != NULL) {
                 /* Magfact is set to -1 upon entry to print_calc.  If it
                  * is still less than 0, then we need to run auto_scale.
                  * Otherwise, put the value into the correct units.  If
                 /* Magfact is set to -1 upon entry to print_calc.  If it
                  * is still less than 0, then we need to run auto_scale.
                  * Otherwise, put the value into the correct units.  If
@@ -1596,7 +1596,7 @@ int print_calc(
                     printval /= magfact;
                 }
                 *(++percent_s) = 's';
                     printval /= magfact;
                 }
                 *(++percent_s) = 's';
-            } else if (strstr(im->gdes[i].format, "%s") != NULL) {
+            } else if (!im->gdes[i].strftm && strstr(im->gdes[i].format, "%s") != NULL) {
                 auto_scale(im, &printval, &si_symb, &magfact);
             }
 
                 auto_scale(im, &printval, &si_symb, &magfact);
             }