Code

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/branches/1.3@2129 a5681a0c-68f1-0310-ab6d-d61299d08faa

program/src/rrd_graph.c

index dcc20241120b7bf70875e853bc04740869d68451..b9d954757fdfeb979371a677ede66a6a7fadf793 100644 (file)
@@ -1520,7 +1520,7 @@ int print_calc(
                 }
             }           /* 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
@@ -1534,7 +1534,7 @@ int print_calc(
                     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);
             }