Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools lib api fs: Use base 0 in filename__read_ull

By using 0 for base, the strtoull() detects the base automatically (see
'man strtoull').

ATM we have just one user of this function, the cpu__get_max_freq
function reading the "cpuinfo_max_freq" sysfs file. It should not get
affected by this change.

Committer note:

This change seems motivated by this discussion:

"[PATCH] [RFC V1]s390/perf: fix 'start' address of module's map"
http://lkml.kernel.org/r/20160711120155.GA29929@krava

I.e. this patches paves the way for filename__read_ull() to be used in a
S/390 related fix.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Songshan Gong <gongss@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1468567797-27564-4-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
db49120a 0d203166

+6 -1
+6 -1
tools/lib/api/fs/fs.c
··· 283 283 return err; 284 284 } 285 285 286 + /* 287 + * Parses @value out of @filename with strtoull. 288 + * By using 0 for base, the strtoull detects the 289 + * base automatically (see man strtoull). 290 + */ 286 291 int filename__read_ull(const char *filename, unsigned long long *value) 287 292 { 288 293 char line[64]; ··· 297 292 return -1; 298 293 299 294 if (read(fd, line, sizeof(line)) > 0) { 300 - *value = strtoull(line, NULL, 10); 295 + *value = strtoull(line, NULL, 0); 301 296 if (*value != ULLONG_MAX) 302 297 err = 0; 303 298 }