aboutsummaryrefslogtreecommitdiff
path: root/lib/portability.c
diff options
context:
space:
mode:
authorIsaac Dunham <ibid.ag@gmail.com>2014-11-19 16:38:46 -0600
committerIsaac Dunham <ibid.ag@gmail.com>2014-11-19 16:38:46 -0600
commit46ddf0e34b03f7711a9c80f7a70dc8cbf732f782 (patch)
tree4f69c03c7da6c6f3fd977182ebb93c89703d47a8 /lib/portability.c
parent159a7f1621eecf6cf3c2824ffb762a19bf5f7667 (diff)
downloadtoybox-46ddf0e34b03f7711a9c80f7a70dc8cbf732f782.tar.gz
probe for getspnam(), forkpty(), utmpx, replace sethostname()
Android is missing all of these; we need to probe for some so we have a config symbol to depend on. sethostname() is easily replaced. We got termios.h via pty.h; now it's not included in configure-step tools, so we need termios.h to generate globals.
Diffstat (limited to 'lib/portability.c')
-rw-r--r--lib/portability.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/portability.c b/lib/portability.c
index d901a4b6..29608bc1 100644
--- a/lib/portability.c
+++ b/lib/portability.c
@@ -5,6 +5,9 @@
*/
#include "toys.h"
+#if defined(__ANDROID__)
+#include <asm/unistd.h>
+#endif
#if defined(__APPLE__) || defined(__ANDROID__)
ssize_t getdelim(char **linep, size_t *np, int delim, FILE *stream)
@@ -61,6 +64,13 @@ ssize_t getline(char **linep, size_t *np, FILE *stream)
}
#endif
+#if defined(__ANDROID__)
+int sethostname(const char *name, size_t len)
+{
+ return syscall(__NR_sethostname, name, len);
+}
+#endif
+
#if defined(__APPLE__)
extern char **environ;