diff options
Diffstat (limited to 'modules/benchmark')
| -rw-r--r-- | modules/benchmark/bench_results.c | 15 | 
1 files changed, 7 insertions, 8 deletions
| diff --git a/modules/benchmark/bench_results.c b/modules/benchmark/bench_results.c index cef26e73..57cb56ea 100644 --- a/modules/benchmark/bench_results.c +++ b/modules/benchmark/bench_results.c @@ -96,7 +96,6 @@ static gen_machine_id(simple_machine *m) {      }  } -  simple_machine *simple_machine_new() {      simple_machine *m = NULL;      m = malloc(sizeof(simple_machine)); @@ -161,7 +160,7 @@ bench_result *bench_result_this_machine(const char *bench_name, float result, in  static int nx_prefix(const char *str) {      char *s, *x;      if (str != NULL) { -        s = str; +        s = (char*)str;          x = strchr(str, 'x');          if (x && x-s >= 1) {              while(s != x) { @@ -231,18 +230,18 @@ bench_result *bench_result_benchmarkconf(const char *section, const char *key, c               * "...@ 2.00GHz" -> 2000.0 */              s0 = b->machine->cpu_name;              s2 = strstr(s0, "Hz"); -            if (s2 && s2 != s0) { -                s1 = s2 - 1; +            if (s2 && s2 > s0 + 2) { +                m = 1; /* assume M */ +                if (*(s2-1) == 'G') +                    m = 1000; +                s1 = s2 - 2;                  while (s1 > s0) { -                    if ( isdigit(*s1) || *s1 == '.' || *s1 == ' ') +                    if (!( isdigit(*s1) || *s1 == '.' || *s1 == ' '))                          break;                      s1--;                  }                  if (s1 > s0) { -                    m = 0; /* assume M */ -                    if (*(s2-1) == 'G') -                        m = 1000;                      n = atof(s1+1);                      n *= m; | 
