r = read_one_line_file("/sys/class/rtc/rtc0/since_epoch", &t);
if (r < 0)
- return r;
+ return log_error_errno(r, "Failed to read RTC time: %m");
+
+ r = safe_atou64(t, ret_sec);
+ if (r < 0)
+ return log_error_errno(r, "Failed to parse RTC time '%s': %m", t);
- return safe_atou64(t, ret_sec);
+ return 0;
}
static int rtc_write_wake_alarm(uint64_t sec) {
r = rtc_read_time(&original_time);
if (r < 0)
- return log_error_errno(r, "Failed to read time: %d", r);
+ return r;
wake_time = original_time + (hibernate_delay_sec / USEC_PER_SEC);
r = rtc_write_wake_alarm(wake_time);
r = rtc_read_time(&cmp_time);
if (r < 0)
- return log_error_errno(r, "Failed to read time: %d", r);
+ return r;
/* reset RTC */
r = rtc_write_wake_alarm(0);