diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-06-18 04:55:48 +0400 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-06-18 04:55:48 +0400 |
commit | 4ebdae3777b8c9175d5d07090989f7e498befc42 (patch) | |
tree | 8afe9cfbf7798389f094ef459592599e475cd8bf /coreutils/date.c | |
parent | 5b1dfe609c472b9b311ff3b135f4a5563d12848e (diff) |
date: make %N work without -lrt on glibc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils/date.c')
-rw-r--r-- | coreutils/date.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/coreutils/date.c b/coreutils/date.c index 8f9aff8b0..c737f09f3 100644 --- a/coreutils/date.c +++ b/coreutils/date.c @@ -93,6 +93,9 @@ //config: MMDDhhmm[[YY]YY][.ss] format. #include "libbb.h" +#if ENABLE_FEATURE_DATE_NANO +# include <sys/syscall.h> +#endif enum { OPT_RFC2822 = (1 << 0), /* R */ @@ -208,7 +211,9 @@ int date_main(int argc UNUSED_PARAM, char **argv) #endif } else { #if ENABLE_FEATURE_DATE_NANO - clock_gettime(CLOCK_REALTIME, &ts); + /* libc has incredibly messy way of doing this, + * typically requiring -lrt. We just skip all this mess */ + syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); #else time(&ts.tv_sec); #endif |