summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2005-10-29 21:43:45 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2005-10-29 21:43:45 +1000
commit156deb8fa7c56e4809d6bc0b4f1075742cdde5e4 (patch)
treeae526c0b6759beafd74240b623395e2c0e028051 /src
parent[BUILTIN] Removed standalone/csh support from test (diff)
downloaddash-156deb8fa7c56e4809d6bc0b4f1075742cdde5e4.tar.gz
dash-156deb8fa7c56e4809d6bc0b4f1075742cdde5e4.zip
[SYSTEM] Added dummy sysconf implementation
Add a dummy sysconf implementation that always fails for klibc.
Diffstat (limited to '')
-rw-r--r--src/bltin/times.c5
-rw-r--r--src/system.c8
-rw-r--r--src/system.h5
3 files changed, 15 insertions, 3 deletions
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