Whamcloud - gitweb
e2fsck: check new sysfs interface to determine if we are on battery
authorTheodore Ts'o <tytso@mit.edu>
Tue, 21 Feb 2012 00:10:19 +0000 (19:10 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 21 Feb 2012 00:10:19 +0000 (19:10 -0500)
...since the old way is deprecated.

Addresses-SourceForge-Bug: #3439277

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
e2fsck/unix.c

index c38b67a..6f97b0f 100644 (file)
@@ -252,6 +252,14 @@ static int is_on_batt(void)
        unsigned int    acflag;
        struct dirent*  de;
 
+       f = fopen("/sys/class/power_supply/AC/online", "r");
+       if (f) {
+               if (fscanf(f, "%d\n", &acflag) == 1) {
+                       fclose(f);
+                       return (!acflag);
+               }
+               fclose(f);
+       }
        f = fopen("/proc/apm", "r");
        if (f) {
                if (fscanf(f, "%s %s %s %x", tmp, tmp, tmp, &acflag) != 4)