mirror of
https://github.com/tmux/tmux.git
synced 2024-12-12 17:38:48 +00:00
Add compat for cfmakeraw, from Dagobert Michelsen.
This commit is contained in:
parent
a46ccbd883
commit
792e2856c9
@ -233,6 +233,9 @@ 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
|
||||
|
5
compat.h
5
compat.h
@ -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
32
compat/cfmakeraw.c
Normal 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;
|
||||
}
|
@ -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 \
|
||||
]
|
||||
)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user