traceroute: fix help text to not show -6 when traceroute6 is off
[oweals/busybox.git] / libbb / rtc.c
index 4cbf32206c79450c4d0f4fb5b7c1a1a86e516791..51834f8f99e0b93ec61b5ad853b248ff2a371d8e 100644 (file)
@@ -1,5 +1,7 @@
 /*
  * Common RTC functions
+ *
+ * Licensed under GPLv2, see file LICENSE in this tarball for details.
  */
 
 #include "libbb.h"
 # define ADJTIME_PATH "/etc/adjtime"
 #endif
 
-int rtc_adjtime_is_utc(void)
+int FAST_FUNC rtc_adjtime_is_utc(void)
 {
        int utc = 0;
-       FILE *f = fopen(ADJTIME_PATH, "r");
+       FILE *f = fopen_for_read(ADJTIME_PATH);
 
        if (f) {
                RESERVE_CONFIG_BUFFER(buffer, 128);
@@ -40,24 +42,26 @@ int rtc_adjtime_is_utc(void)
        return utc;
 }
 
-int rtc_xopen(const char *default_rtc, int flags)
+int FAST_FUNC rtc_xopen(const char **default_rtc, int flags)
 {
        int rtc;
 
-       if (!default_rtc) {
-               rtc = open("/dev/rtc", flags);
+       if (!*default_rtc) {
+               *default_rtc = "/dev/rtc";
+               rtc = open(*default_rtc, flags);
                if (rtc >= 0)
                        return rtc;
-               rtc = open("/dev/rtc0", flags);
+               *default_rtc = "/dev/rtc0";
+               rtc = open(*default_rtc, flags);
                if (rtc >= 0)
                        return rtc;
-               default_rtc = "/dev/misc/rtc";
+               *default_rtc = "/dev/misc/rtc";
        }
 
-       return xopen(default_rtc, flags);
+       return xopen(*default_rtc, flags);
 }
 
-time_t rtc_read_time(int fd, int utc)
+time_t FAST_FUNC rtc_read_time(int fd, int utc)
 {
        struct tm tm;
        char *oldtz = 0;