aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd-new-session.c24
-rwxr-xr-xconfigure7
2 files changed, 28 insertions, 3 deletions
diff --git a/cmd-new-session.c b/cmd-new-session.c
index 857163cb..3f46d0af 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-new-session.c,v 1.56 2009-08-19 14:32:49 nicm Exp $ */
+/* $Id: cmd-new-session.c,v 1.57 2009-08-19 15:57:54 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -207,8 +207,28 @@ cmd_new_session_exec(struct cmd *self, struct cmd_ctx *ctx)
if (ctx->cmdclient != NULL && ctx->cmdclient->tty.fd != -1) {
if (tcgetattr(ctx->cmdclient->tty.fd, &tio) != 0)
fatal("tcgetattr failed");
- } else
+ } else {
+#ifdef HAVE_TTYDEFCHARS
memcpy(tio.c_cc, ttydefchars, sizeof tio.c_cc);
+#else
+ memset(tio.c_cc, _POSIX_VDISABLE, sizeof tio.c_cc);
+ tio.c_cc[VINTR] = CINTR;
+ tio.c_cc[VQUIT] = CQUIT;
+ tio.c_cc[VERASE] = CERASE;
+ tio.c_cc[VKILL] = CKILL;
+ tio.c_cc[VEOF] = CEOF;
+ tio.c_cc[VTIME] = CTIME;
+ tio.c_cc[VMIN] = CMIN;
+ tio.c_cc[VSTART] = CSTART;
+ tio.c_cc[VSTOP] = CSTOP;
+ tio.c_cc[VSUSP] = CSUSP;
+ tio.c_cc[VEOL] = CEOL;
+ tio.c_cc[VREPRINT] = CREPRINT;
+ tio.c_cc[VDISCARD] = CDISCARD;
+ tio.c_cc[VWERASE] = CWERASE;
+ tio.c_cc[VLNEXT] = CLNEXT;
+#endif
+ }
tio.c_iflag = TTYDEF_IFLAG;
tio.c_oflag = TTYDEF_OFLAG;
tio.c_lflag = TTYDEF_LFLAG;
diff --git a/configure b/configure
index ff1efe7c..b5ddd276 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Id: configure,v 1.25 2009-08-16 19:48:17 tcunha Exp $
+# $Id: configure,v 1.26 2009-08-19 15:57:54 nicm Exp $
TMUX_PLATFORM=${TMUX_PLATFORM:-`uname -s`}
@@ -32,6 +32,7 @@ cat <<EOF >>$CONFIG_H
#undef HAVE_STRSEP
#undef HAVE_STRTONUM
#undef HAVE_TREE_H
+#undef HAVE_TTYDEFCHARS
#undef HAVE_UTIL_H
#undef HAVE_VIS
EOF
@@ -57,6 +58,7 @@ case $TMUX_PLATFORM in
#define HAVE_STRSEP
#define HAVE_STRTONUM
#define HAVE_TREE_H
+#define HAVE_TTYDEFCHARS
#define HAVE_UTIL_H
#define HAVE_VIS
EOF
@@ -165,6 +167,7 @@ EOF
#define HAVE_STRLCAT
#define HAVE_STRLCPY
#define HAVE_STRSEP
+#define HAVE_TTYDEFCHARS
#define HAVE_UTIL_H
EOF
cat <<EOF >>$CONFIG_MK
@@ -196,6 +199,7 @@ EOF
#define HAVE_STRLCPY
#define HAVE_STRTONUM
#define HAVE_STRSEP
+#define HAVE_TTYDEFCHARS
EOF
cat <<EOF >>$CONFIG_MK
LIBS+= -lcurses -lcrypt -lutil
@@ -222,6 +226,7 @@ EOF
#define HAVE_STRLCAT
#define HAVE_STRLCPY
#define HAVE_STRSEP
+#define HAVE_TTYDEFCHARS
#define HAVE_UTIL_H
EOF
cat <<EOF >>$CONFIG_MK