summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-11-18 10:14:35 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-11-18 10:14:35 +0000
commit1e9b85e586a24ae119e4f41504ea2e71e4dd5de7 (patch)
tree092d6a6832f2fa9feb3c5a7cb8ffcfb7392e44ad
parent14231691e15744c0aac39224e9aa0d84835313fe (diff)
downloadzsh-1e9b85e586a24ae119e4f41504ea2e71e4dd5de7.tar.gz
zsh-1e9b85e586a24ae119e4f41504ea2e71e4dd5de7.zip
François Revol: some BeOS fixes
-rw-r--r--ChangeLog3
-rw-r--r--Src/Modules/zpty.c3
-rw-r--r--Src/Zle/zle_refresh.c4
-rw-r--r--configure.ac11
4 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 14133be43..c53072059 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-11-18 Peter Stephenson <pws@csr.com>
+ * 26060: François Revol: configure.ac, Src/Module/zpty.c,
+ Src/Zle/zle_refresh.c: fixes for BeOS.
+
* 26062: Src/Zle/compmatch.c: missed change needed with 26047.
* 26061: Src/lex.c, Src/parse.c, Src/subst.c, Src/zsh.h,
diff --git a/Src/Modules/zpty.c b/Src/Modules/zpty.c
index 6c332b270..d115afcef 100644
--- a/Src/Modules/zpty.c
+++ b/Src/Modules/zpty.c
@@ -260,6 +260,9 @@ get_pty(int master, int *retfd)
if (master) {
strcpy(name, "/dev/ptyxx");
+#if defined(__BEOS__) || defined(__HAIKU__)
+ name[7] = '/';
+#endif
for (p1 = char1; *p1; p1++) {
name[8] = *p1;
diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c
index 6a50d8b99..ba6fdaaf1 100644
--- a/Src/Zle/zle_refresh.c
+++ b/Src/Zle/zle_refresh.c
@@ -1879,6 +1879,8 @@ refreshline(int ln)
/* 3: main display loop - write out the buffer using whatever tricks we can */
for (;;) {
+ int now_off;
+
#ifdef MULTIBYTE_SUPPORT
if ((!nl->chr || nl->chr != WEOF) && (!ol->chr || ol->chr != WEOF)) {
#endif
@@ -2050,7 +2052,7 @@ refreshline(int ln)
* If an attribute was on here but isn't any more,
* output the sequence to turn it off.
*/
- int now_off = ol->atr & ~nl->atr & TXT_ATTR_ON_MASK;
+ now_off = ol->atr & ~nl->atr & TXT_ATTR_ON_MASK;
if (now_off)
settextattributes(TXT_ATTR_OFF_FROM_ON(now_off));
diff --git a/configure.ac b/configure.ac
index 8fb4843e0..f68b1b9bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -745,6 +745,7 @@ if test x$enable_cap = xyes; then
fi
AC_CHECK_LIB(socket, socket)
+AC_CHECK_LIB(bind, gethostbyname2)
dnl ---------------
dnl CHECK FOR ICONV
@@ -2527,6 +2528,7 @@ char *argv[];
aix*) DLLDFLAGS="${DLLDFLAGS=-G -bexpall -lc}" ;;
solaris*|sysv4*|esix*) DLLDFLAGS="${DLLDFLAGS=-G}" ;;
darwin*) DLLDFLAGS="${DLLDFLAGS=-bundle -flat_namespace -undefined suppress}" ;;
+ beos*|haiku*) DLLDFLAGS="${DLLDFLAGS=-nostart}" ;;
openbsd*)
if test x$zsh_cv_sys_elf = xyes; then
DLLDFLAGS="${DLLDFLAGS=-shared -fPIC}"
@@ -2568,6 +2570,15 @@ char *argv[];
;;
esac
;;
+ *-beos*)
+ # gcc on BeOS doesn't like -rdynamic...
+ EXTRA_LDFLAGS="${EXTRA_LDFLAGS= }"
+ # also, dlopen() at least in Zeta respects $LIBRARY_PATH, so needs %A added to it.
+ export LIBRARY_PATH="$LIBRARY_PATH:%A/"
+ ;;
+ *-haiku*)
+ #
+ ;;
esac
# Done with our shell code, so restore autotools quoting