From f96057879128fab2df61e5fb985c97e2b530f62c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Tue, 10 Jan 2012 18:37:50 +0100 Subject: [PATCH] Fixed 'unknown' readings from ACPI meters Resolves: rhbz#770289 --- powertop-1.98-unknown-readings-fix.patch | 35 ++++++++++++++++++++++++ powertop.spec | 8 +++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 powertop-1.98-unknown-readings-fix.patch diff --git a/powertop-1.98-unknown-readings-fix.patch b/powertop-1.98-unknown-readings-fix.patch new file mode 100644 index 0000000..980c40c --- /dev/null +++ b/powertop-1.98-unknown-readings-fix.patch @@ -0,0 +1,35 @@ +diff -up powertop-1.98/measurement/acpi.cpp.orig powertop-1.98/measurement/acpi.cpp +--- powertop-1.98/measurement/acpi.cpp.orig 2011-05-11 06:48:37.000000000 +0200 ++++ powertop-1.98/measurement/acpi.cpp 2012-01-10 18:31:21.093799991 +0100 +@@ -108,8 +108,13 @@ void acpi_power_meter::measure(void) + while (*c == ' ') c++; + _capacity = strtoull(c, NULL, 10); + c = strchr(c, ' '); +- c++; +- strcpy(capacity_units, c); ++ if (c) { ++ c++; ++ strcpy(capacity_units, c); ++ } else { ++ _capacity = 0; ++ strcpy(capacity_units, "Unknown"); ++ } + } + if (strstr(line, "present voltage:")) { + c = strchr(line, ':'); +@@ -117,8 +122,13 @@ void acpi_power_meter::measure(void) + while (*c == ' ') c++; + _voltage = strtoull(c, NULL, 10); + c = strchr(c, ' '); +- c++; +- strcpy(voltage_units, c); ++ if (c) { ++ c++; ++ strcpy(voltage_units, c); ++ } else { ++ _voltage = 0; ++ strcpy(voltage_units, "Unknown"); ++ } + } + } + file.close(); diff --git a/powertop.spec b/powertop.spec index b0e51d6..8555904 100644 --- a/powertop.spec +++ b/powertop.spec @@ -1,6 +1,6 @@ Name: powertop Version: 1.98 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Power consumption monitor Group: Applications/System @@ -9,6 +9,7 @@ URL: http://www.lesswatts.org/ #Source0: http://www.lesswatts.org/projects/%{name}/download/%{name}-%{version}.tar.gz Source0: http://www.kernel.org/pub/linux/status/powertop/%{name}-%{version}.tar.bz2 Patch0: powertop-1.98-always-create-params.patch +Patch1: powertop-1.98-unknown-readings-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gettext, ncurses-devel, pciutils-devel, zlib-devel, libnl-devel @@ -19,6 +20,7 @@ computer use more power than necessary while it is idle. %prep %setup -q %patch0 -p1 -b .always-create-params +%patch0 -p1 -b .unknown-readings-fix %build make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" @@ -51,6 +53,10 @@ rm -rf %{buildroot} #%{_mandir}/man8/powertop.8* %changelog +* Tue Jan 10 2012 Jaroslav Škarvada - 1.98-3 +- Fixed 'unknown' readings from ACPI meters + Resolves: rhbz#770289 + * Fri Dec 2 2011 Jaroslav Škarvada - 1.98-2 - Always create params file Resolves: rhbz#698020