Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code

pull/1/head
Thomas Adam 2013-04-23 08:26:51 +01:00
commit 70bc8ef845
5 changed files with 49 additions and 2 deletions

View File

@ -233,13 +233,16 @@ endif
if NO_B64_NTOP
nodist_tmux_SOURCES += compat/b64_ntop.c
endif
if NO_CFMAKERAW
nodist_tmux_SOURCES += compat/cfmakeraw.c
endif
# Build tmux.1 in the right format.
tmux.1: tmux.1.in
if test x@MANFORMAT@ = xmdoc; then \
cp tmux.1.in tmux.1; \
else \
$(AWK) -fmdoc2man.awk tmux.1.in >tmux.1; \
$(AWK) -fmdoc2man.awk <tmux.1.in >tmux.1; \
fi
# Update SF web site.

View File

@ -236,6 +236,11 @@ int setenv(const char *, const char *, int);
int unsetenv(const char *);
#endif
#ifndef HAVE_CFMAKERAW
/* cfmakeraw.c */
void cfmakeraw(struct termios *tio);
#endif
#ifdef HAVE_GETOPT
#include <getopt.h>
#else

32
compat/cfmakeraw.c Normal file
View File

@ -0,0 +1,32 @@
/* $Id$ */
/*
* Copyright (c) 2013 Dagobert Michelsen
* Copyright (c) 2013 Nicholas Marriott <nicm@users.sourceforge.net>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <string.h>
#include "tmux.h"
void
cfmakeraw(struct termios *tio)
{
tio->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
tio->c_oflag &= ~OPOST;
tio->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
tio->c_cflag &= ~(CSIZE|PARENB);
tio->c_cflag |= CS8;
}

View File

@ -313,6 +313,13 @@ if test "x$found_strnvis" = xyes; then
fi
AM_CONDITIONAL(NO_VIS, [test "x$found_strnvis" = xno])
# Look for cfmakeraw, compat/cfmakeraw.c used if missing.
AC_CHECK_FUNC(cfmakeraw, found_cfmakeraw=yes, found_cfmakeraw=no)
if test "x$found_cfmakeraw" = xyes; then
AC_DEFINE(HAVE_CFMAKERAW)
fi
AM_CONDITIONAL(NO_CFMAKERAW, [test "x$found_cfmakeraw" = xno])
# Look for getopt. glibc's getopt does not enforce argument order and the ways
# of making it do so are stupid, so just use our own instead.
AC_CHECK_FUNC(getopt, found_getopt=yes, found_getopt=no)
@ -345,6 +352,7 @@ AC_CHECK_FUNCS(
dirfd \
setproctitle \
sysconf \
cfmakeraw \
]
)

1
tmux.c
View File

@ -23,7 +23,6 @@
#include <event.h>
#include <fcntl.h>
#include <locale.h>
#include <paths.h>
#include <pwd.h>
#include <stdlib.h>
#include <string.h>