diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2011-01-01 18:33:10 -0800 |
---|---|---|
committer | Arjan van de Ven <arjan@linux.intel.com> | 2011-01-01 18:33:10 -0800 |
commit | 4855aeab0c64dd65412d711b6c2ce203e79329d7 (patch) | |
tree | c442bae358840fd6cfabe910db8b1f34bd3e2dd9 /perf | |
parent | 12e1791940062df5db3e949503c5bd5ab5a1fa22 (diff) | |
download | powertop-4855aeab0c64dd65412d711b6c2ce203e79329d7.tar.gz |
fix some valgrind warnings by just simplifying the code a ton
Diffstat (limited to 'perf')
-rw-r--r-- | perf/perf.cpp | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/perf/perf.cpp b/perf/perf.cpp index dc4968b..29e464c 100644 --- a/perf/perf.cpp +++ b/perf/perf.cpp @@ -47,24 +47,15 @@ static int get_trace_type(const char *eventname) { - static int once = 0; - ifstream file; + string str; int this_trace; - char filename[4096]; - sprintf(filename, "/sys/kernel/debug/tracing/events/%s/id", eventname); - file.open(filename, ios::in); - if (!file && !once) { - cout << "Invalid trace type " << eventname << "\n"; - once++; + str = read_sysfs_string("/sys/kernel/debug/tracing/events/%s/id", eventname); + if (str.length() < 1) return -1; - } - - file >> this_trace; - - file.close(); + this_trace = strtoull(str.c_str(), NULL, 10); return this_trace; } @@ -178,12 +169,12 @@ void perf_event::set_cpu(int _cpu) perf_event::perf_event(const char *event_name, int _cpu, int buffer_size) { name = NULL; - set_event_name(event_name); perf_fd = -1; bufsize = buffer_size; cpu = _cpu; perf_mmap = NULL; trace_type = 0; + set_event_name(event_name); } perf_event::perf_event(void) |