[PATCH 1/2] lib: fwts_ac_adapter: fix readdir(ac_power_dir) failing
Alex Hung
alex.hung at canonical.com
Thu Jan 10 05:34:06 UTC 2019
As readdir() returns next directory, readdir(ac_power_dir) needs to be
closed and re-opened.
Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
src/lib/src/fwts_ac_adapter.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/lib/src/fwts_ac_adapter.c b/src/lib/src/fwts_ac_adapter.c
index 9dd828f7..de2242a2 100644
--- a/src/lib/src/fwts_ac_adapter.c
+++ b/src/lib/src/fwts_ac_adapter.c
@@ -90,6 +90,7 @@ int fwts_ac_adapter_get_state(const int state, int *matching, int *not_matching)
return FWTS_ERROR;
}
+ (void)closedir(ac_power_dir);
ac_interface = &fwts_ac_interfaces[SYS_INTERFACE];
/* then try older /proc interface */
} else if ((ac_power_dir = opendir(FWTS_PROC_ACPI_AC_ADAPTER))) {
@@ -98,6 +99,8 @@ int fwts_ac_adapter_get_state(const int state, int *matching, int *not_matching)
return FWTS_ERROR;
}
+ if (!(ac_power_dir = opendir(FWTS_SYS_CLASS_POWER_SUPPLY)))
+ return FWTS_ERROR;
do {
entry = readdir(ac_power_dir);
if (entry && strlen(entry->d_name) > 2) {
--
2.19.1
More information about the fwts-devel
mailing list