In finding minimum value, it used zero as an initializer
but if the graph had no data below say, 1000, it would still
find zero as the minimum, which was incorrect.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
static double find_xy_value(struct graph *g, xy_value_extractor getvalue, double_comparator cmp)
{
- double tmp, answer = 0.0;
+ double tmp, answer;
struct graph_label *i;
struct graph_value *j;
+ int first = 1;
for (i = g->labels; i; i = i->next)
for (j = i->values; j; j = j->next) {
tmp = getvalue(j);
+ if (first) {
+ first = 0;
+ answer = tmp;
+ }
answer = cmp(tmp, answer);
}
return answer;