[gnome-settings-daemon] power: Make ABS_TO_PERCENTAGE warn on invalid input
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] power: Make ABS_TO_PERCENTAGE warn on invalid input
- Date: Wed, 7 Sep 2011 15:46:34 +0000 (UTC)
commit 5be38144f19d1479c908039ffc2991052b06111b
Author: Bastien Nocera <hadess hadess net>
Date: Wed Sep 7 16:18:46 2011 +0100
power: Make ABS_TO_PERCENTAGE warn on invalid input
Works around this problem, whilst producing a warning.
https://bugzilla.gnome.org/show_bug.cgi?id=657364
plugins/power/gsd-power-manager.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index a67c998..80aba9d 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -126,7 +126,13 @@ static const gchar introspection_xml[] =
#define BRIGHTNESS_STEP_AMOUNT(max) ((max) < 20 ? 1 : (max) / 20)
/* take a discrete value with offset and convert to percentage */
-#define ABS_TO_PERCENTAGE(min, max, value) (((value - min) * 100) / (max - min))
+static int
+abs_to_percentage (int min, int max, int value)
+{
+ g_return_val_if_fail (max > min, -1);
+ return (((value - min) * 100) / (max - min));
+}
+#define ABS_TO_PERCENTAGE(min, max, value) abs_to_percentage(min, max, value)
#define PERCENTAGE_TO_ABS(min, max, value) (min + (((max - min) * value) / 100))
#define GSD_POWER_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_POWER_MANAGER, GsdPowerManagerPrivate))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]