Browse Source

Merge pull request #113 from franciscod/stdio-ctermid

ndk_patches/stdio.h.patch: add bogus ctermid()
android-5
Fredrik Fornwall 9 years ago
parent
commit
59c1f3a138
  1. 9
      ndk_patches/stdio.h.patch
  2. 17
      packages/fish/reader.cpp.patch
  3. 12
      packages/perl/POSIX.xs.patch

9
ndk_patches/stdio.h.patch

@ -10,12 +10,19 @@ diff -u -r /home/fornwall/lib/android-ndk/platforms/android-21/arch-arm/usr/incl
#endif
#define L_tmpnam 1024 /* XXX must be == PATH_MAX */
#define TMP_MAX 308915776
@@ -371,6 +371,9 @@
@@ -371,6 +371,16 @@
#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0)
#endif /* __BSD_VISIBLE */
+/* Needed by gnulibs freading() */
+#define __sferror(p) (((p)->_flags & __SERR) != 0)
+
+/* Used by perl, fish, and others */
+static char* ctermid(char* s) {
+ if (s == 0) return "/dev/tty";
+ strcpy(s, "/dev/tty");
+ return s;
+}
+
#if defined(__BIONIC_FORTIFY)

17
packages/fish/reader.cpp.patch

@ -1,17 +0,0 @@
diff -u -r ../fish-2.1.1/reader.cpp ./reader.cpp
--- ../fish-2.1.1/reader.cpp 2014-09-24 05:51:07.000000000 -0400
+++ ./src/reader.cpp 2015-02-05 17:37:16.298415721 -0500
@@ -1961,12 +1961,7 @@
{
/* Try reading from the tty; if we get EIO we are orphaned. This is sort of bad because it may block. */
- char *tty = ctermid(NULL);
- if (! tty)
- {
- wperror(L"ctermid");
- exit_without_destructors(1);
- }
+ char *tty = "/dev/tty";
/* Open the tty. Presumably this is stdin, but maybe not? */
int tty_fd = open(tty, O_RDONLY | O_NONBLOCK);

12
packages/perl/POSIX.xs.patch

@ -1,12 +0,0 @@
diff -u -r ../perl-5.20.1/ext/POSIX/POSIX.xs ./ext/POSIX/POSIX.xs
--- ../perl-5.20.1/ext/POSIX/POSIX.xs 2014-09-14 07:31:01.000000000 -0400
+++ ./ext/POSIX/POSIX.xs 2015-01-03 09:28:31.432423313 -0500
@@ -1714,7 +1714,7 @@
#ifdef HAS_CTERMID_R
s = (char *) safemalloc((size_t) L_ctermid);
#endif
- RETVAL = ctermid(s);
+ RETVAL = "/dev/tty";
OUTPUT:
RETVAL
CLEANUP:
Loading…
Cancel
Save