Merge pull request #113 from franciscod/stdio-ctermid
ndk_patches/stdio.h.patch: add bogus ctermid()
This commit is contained in:
commit
59c1f3a138
@ -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)
|
||||
|
||||
|
@ -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);
|
@ -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…
Reference in New Issue
Block a user