powertop: replace erroneous \n with \0; make numberic conversion more robust

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2010-11-04 23:22:40 +01:00
parent 3bbfb58bec
commit dcb163aa8e

View File

@ -323,18 +323,16 @@ static void process_irq_counts(void)
*/ */
*p = '\0'; *p = '\0';
/* Deal with non-maskable interrupts -- make up fake numbers */ /* Deal with non-maskable interrupts -- make up fake numbers */
nr = index_in_strings("NMI\0RES\nCAL\0TLB\0TRM\0THR\0SPU\0", buf); nr = index_in_strings("NMI\0RES\0CAL\0TLB\0TRM\0THR\0SPU\0", buf);
if (nr != -1) { if (nr >= 0) {
nr += 20000; nr += 20000;
} else { } else {
/* bb_strtou doesn't eat leading spaces, using strtoul */ /* bb_strtou doesn't eat leading spaces, using strtoul */
errno = 0;
nr = strtoul(buf, NULL, 10); nr = strtoul(buf, NULL, 10);
if (errno)
continue;
} }
*p = ':';
if (nr == -1)
continue;
p++; p++;
/* 0: 143646045 153901007 IO-APIC-edge timer /* 0: 143646045 153901007 IO-APIC-edge timer
* ^ * ^