diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2005-10-29 21:43:45 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2005-10-29 21:43:45 +1000 |
commit | 156deb8fa7c56e4809d6bc0b4f1075742cdde5e4 (patch) | |
tree | ae526c0b6759beafd74240b623395e2c0e028051 | |
parent | [BUILTIN] Removed standalone/csh support from test (diff) | |
download | dash-156deb8fa7c56e4809d6bc0b4f1075742cdde5e4.tar.gz dash-156deb8fa7c56e4809d6bc0b4f1075742cdde5e4.zip |
[SYSTEM] Added dummy sysconf implementation
Add a dummy sysconf implementation that always fails for klibc.
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/bltin/times.c | 5 | ||||
-rw-r--r-- | src/system.c | 8 | ||||
-rw-r--r-- | src/system.h | 5 |
5 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 91f92a8..df38cf6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,7 @@ * Removed standalone/csh support from printf. * Added dummy strtod implementation. * Removed standalone/csh support from test. + * Added dummy sysconf implementation. 2005-10-26 Herbert Xu <herbert@gondor.apana.org.au> diff --git a/configure.ac b/configure.ac index ed2ab02..d361369 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ dnl Checks for header files. dnl Checks for library functions. AC_CHECK_FUNCS(bsearch getpwnam getrlimit killpg mempcpy sigsetmask stpcpy \ - strchrnul strsignal strtod strtoimax strtoumax) + strchrnul strsignal strtod strtoimax strtoumax sysconf) dnl Check for klibc signal. AC_CHECK_FUNC(signal) diff --git a/src/bltin/times.c b/src/bltin/times.c index aca579f..8eabc1f 100644 --- a/src/bltin/times.c +++ b/src/bltin/times.c @@ -10,10 +10,9 @@ #else #include "bltin.h" #endif +#include "system.h" -#define main timescmd - -int main() { +int timescmd() { struct tms buf; long int clk_tck = sysconf(_SC_CLK_TCK); diff --git a/src/system.c b/src/system.c index d986efd..4c281ed 100644 --- a/src/system.c +++ b/src/system.c @@ -28,6 +28,7 @@ #include <signal.h> #include <string.h> +#include "error.h" #include "output.h" #include "system.h" @@ -89,3 +90,10 @@ void *bsearch(const void *key, const void *base, size_t nmemb, return 0; } #endif + +#ifndef HAVE_SYSCONF +long sysconf(int name) +{ + sh_error("no sysconf for: %d", name); +} +#endif diff --git a/src/system.h b/src/system.h index 2737e9f..b8853e6 100644 --- a/src/system.h +++ b/src/system.h @@ -92,3 +92,8 @@ static inline int killpg(pid_t pid, int signal) return kill(-pid, signal); } #endif + +#ifndef HAVE_SYSCONF +#define _SC_CLK_TCK 2 +long sysconf(int) __attribute__((__noreturn__)); +#endif |