diff options
author | Mike Frysinger | 2008-02-15 07:19:03 +0000 |
---|---|---|
committer | Mike Frysinger | 2008-02-15 07:19:03 +0000 |
commit | 977bc6a1374ed468ec96e2202757be0c8b3592ed (patch) | |
tree | 00cd5d36831b37f1b941f38f87884d80f7e04409 /util-linux | |
parent | ea915363e747d4e42215016ceaef4b19e01baf55 (diff) | |
download | busybox-977bc6a1374ed468ec96e2202757be0c8b3592ed.zip busybox-977bc6a1374ed468ec96e2202757be0c8b3592ed.tar.gz |
we need to pass back the rtc device name that was actually used so that we can turn around and check its sysfs status
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/hwclock.c | 4 | ||||
-rw-r--r-- | util-linux/rtcwake.c | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c index b581d26..f226535 100644 --- a/util-linux/hwclock.c +++ b/util-linux/hwclock.c @@ -25,7 +25,7 @@ static time_t read_rtc(int utc) time_t ret; int fd; - fd = rtc_xopen(rtcname, O_RDONLY); + fd = rtc_xopen(&rtcname, O_RDONLY); ret = rtc_read_time(fd, utc); close(fd); @@ -35,7 +35,7 @@ static time_t read_rtc(int utc) static void write_rtc(time_t t, int utc) { struct tm tm; - int rtc = rtc_xopen(rtcname, O_WRONLY); + int rtc = rtc_xopen(&rtcname, O_WRONLY); tm = *(utc ? gmtime(&t) : localtime(&t)); tm.tm_isdst = 0; diff --git a/util-linux/rtcwake.c b/util-linux/rtcwake.c index c7d5a4c..2b1ab1f 100644 --- a/util-linux/rtcwake.c +++ b/util-linux/rtcwake.c @@ -45,7 +45,7 @@ static int may_wakeup(const char *rtcname) return 0; /* wakeup events could be disabled or not supported */ - return strcmp(buf, "enabled\n") == 0; + return strncmp(buf, "enabled\n", 8) == 0; } static void setup_alarm(int fd, time_t *wakeup) @@ -159,11 +159,11 @@ int rtcwake_main(int argc, char **argv) /* the rtcname is relative to /dev */ xchdir("/dev"); - if (strcmp(suspend, "on") != 0 && !may_wakeup(rtcname)) - bb_error_msg_and_die("%s not enabled for wakeup events", rtcname); - /* this RTC must exist and (if we'll sleep) be wakeup-enabled */ - fd = rtc_xopen(rtcname, O_RDONLY); + fd = rtc_xopen(&rtcname, O_RDONLY); + + if (strcmp(suspend, "on") && !may_wakeup(rtcname)) + bb_error_msg_and_die("%s not enabled for wakeup events", rtcname); /* relative or absolute alarm time, normalized to time_t */ sys_time = time(0); @@ -184,7 +184,7 @@ int rtcwake_main(int argc, char **argv) fflush(stdout); usleep(10 * 1000); - if (!strcmp(suspend, "on")) + if (strcmp(suspend, "on")) suspend_system(suspend); else { /* "fake" suspend ... we'll do the delay ourselves */ |