|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
From 2f16822b9487a951ac898fd6703a7f8c7cd4ce06 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
From: Guillem Jover <guillem@hadrons.org>
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
Date: Sat, 15 Nov 2014 11:59:37 +0100
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
Subject: [PATCH] Do not assume fixed line lengths for /proc/acpi/wakeup file
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
The lines in that file might be equal or longer than 40 characters, which
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
means that the getline() call will truncate them, possibly at the wrong
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
place, and then be unable to proceed, as subsequent calls will get stuck
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
waiting for input that is not coming.
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
---
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
src/acpitool.cpp | 9 +++++----
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
diff --git a/src/acpitool.cpp b/src/acpitool.cpp
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
index f3beeca..e85a7c1 100644
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
--- a/src/acpitool.cpp
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
+++ b/src/acpitool.cpp
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
@@ -416,7 +416,8 @@ int Do_Fan_Info(int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
int Show_WakeUp_Devices(int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
{
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
ifstream file_in;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
- char *filename, str[40];
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
+ char *filename;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
+ string str;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
filename = "/proc/acpi/wakeup";
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
@@ -437,14 +438,14 @@ int Show_WakeUp_Devices(int verbose)
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
}
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
else
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
{
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
- file_in.getline(str, 40); // first line are just headers //
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
+ getline(file_in, str); // first line are just headers //
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
cout<<" "<
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
cout<<" ---------------------------------------"<
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
int t = 1;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
while(!file_in.eof())
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
{
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
- file_in.getline(str, 40);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
- if (strlen(str)!=0) // avoid printing last empty line //
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
+ getline(file_in, str);
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
+ if (str.length()!=0) // avoid printing last empty line //
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
{
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
cout<<" "<
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
t++;
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
--
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
2.1.3
|
|
![](https://seccdn.libravatar.org/avatar/5a26b9508844cbad8d3c2ece3bb13dd0dfb87918ca2667ce4afce002b76989c1?s=16&d=retro) |
8cd89ee |
|