[PATCH] stty: sort out preprocessor conditionals

walter harms wharms at bfs.de
Fri Jul 30 08:00:24 UTC 2010



Jeremie Koenig schrieb:
> * Move the definitions of missing constants to the top of the file.
> * Fix undefined IDX_xxx on missing termios constants.
> * FreeBSD has TABDLY, TAB0 and TAB3, but no TAB1 or TAB2
> * Omit the definition of set_window_size() if TIOCGWINSZ is not available.
> 
> Signed-off-by: Jeremie Koenig <jk at jk.fr.eu.org>
> ---
>  coreutils/Config.src |    1 -
>  coreutils/stty.c     |  339 +++++++++++++++++++++++++++++++------------------
>  2 files changed, 214 insertions(+), 126 deletions(-)
> 
> diff --git a/coreutils/Config.src b/coreutils/Config.src
> index 780b73f..0eb70af 100644
> --- a/coreutils/Config.src
> +++ b/coreutils/Config.src
> @@ -607,7 +607,6 @@ config FEATURE_STAT_FORMAT
>  config STTY
>  	bool "stty"
>  	default y
> -	depends on PLATFORM_LINUX
>  	help
>  	  stty is used to change and print terminal line settings.
>  
> diff --git a/coreutils/stty.c b/coreutils/stty.c
> index c40d718..33f7b21 100644
> --- a/coreutils/stty.c
> +++ b/coreutils/stty.c
> @@ -115,6 +115,113 @@
>  # define CSTATUS Control('t')
>  #endif
>  
> +/* Save us from #ifdef forest plague */
> +#ifndef BSDLY
> +# define BSDLY 0
> +#endif
> +#ifndef CIBAUD
> +# define CIBAUD 0
> +#endif
> +#ifndef CRDLY
> +# define CRDLY 0
> +#endif
> +#ifndef CRTSCTS
> +# define CRTSCTS 0
> +#endif
> +#ifndef ECHOCTL
> +# define ECHOCTL 0
> +#endif
> +#ifndef ECHOKE
> +# define ECHOKE 0
> +#endif
> +#ifndef ECHOPRT
> +# define ECHOPRT 0
> +#endif
> +#ifndef FFDLY
> +# define FFDLY 0
> +#endif
> +#ifndef IEXTEN
> +# define IEXTEN 0
> +#endif
> +#ifndef IMAXBEL
> +# define IMAXBEL 0
> +#endif
> +#ifndef IUCLC
> +# define IUCLC 0
> +#endif
> +#ifndef IXANY
> +# define IXANY 0
> +#endif
> +#ifndef NLDLY
> +# define NLDLY 0
> +#endif
> +#ifndef OCRNL
> +# define OCRNL 0
> +#endif
> +#ifndef OFDEL
> +# define OFDEL 0
> +#endif
> +#ifndef OFILL
> +# define OFILL 0
> +#endif
> +#ifndef OLCUC
> +# define OLCUC 0
> +#endif
> +#ifndef ONLCR
> +# define ONLCR 0
> +#endif
> +#ifndef ONLRET
> +# define ONLRET 0
> +#endif
> +#ifndef ONOCR
> +# define ONOCR 0
> +#endif
> +#ifndef OXTABS
> +# define OXTABS 0
> +#endif
> +#ifndef TABDLY
> +# define TABDLY 0
> +#endif
> +#ifndef TAB1
> +# define TAB1 0
> +#endif
> +#ifndef TAB2
> +# define TAB2 0
> +#endif
> +#ifndef TOSTOP
> +# define TOSTOP 0
> +#endif
> +#ifndef VDSUSP
> +# define VDSUSP 0
> +#endif
> +#ifndef VEOL2
> +# define VEOL2 0
> +#endif
> +#ifndef VFLUSHO
> +# define VFLUSHO 0
> +#endif
> +#ifndef VLNEXT
> +# define VLNEXT 0
> +#endif
> +#ifndef VREPRINT
> +# define VREPRINT 0
> +#endif
> +#ifndef VSTATUS
> +# define VSTATUS 0
> +#endif
> +#ifndef VSWTCH
> +# define VSWTCH 0
> +#endif
> +#ifndef VTDLY
> +# define VTDLY 0
> +#endif
> +#ifndef VWERASE
> +# define VWERASE 0
> +#endif
> +#ifndef XCASE
> +# define XCASE 0
> +#endif
> +


maybe this is better suited for platform.h (or equal)

re,
 wh


>  /* Which speeds to set */
>  enum speed_setting {
>  	input_speed, output_speed, both_speeds
> @@ -167,13 +274,13 @@ enum {
>  	IDX_cbreak,
>  	IDX_crt,
>  	IDX_dec,
> -#ifdef IXANY
> +#if IXANY
>  	IDX_decctlq,
>  #endif
> -#if defined(TABDLY) || defined(OXTABS)
> +#if TABDLY || OXTABS
>  	IDX_tabs,
>  #endif
> -#if defined(XCASE) && defined(IUCLC) && defined(OLCUC)
> +#if XCASE && IUCLC && OLCUC
>  	IDX_lcase,
>  	IDX_LCASE,
>  #endif
> @@ -196,13 +303,13 @@ static const char mode_name[] =
>  	MI_ENTRY("cbreak",   combination, REV        | OMIT, 0,          0 )
>  	MI_ENTRY("crt",      combination, OMIT,              0,          0 )
>  	MI_ENTRY("dec",      combination, OMIT,              0,          0 )
> -#ifdef IXANY
> +#if IXANY
>  	MI_ENTRY("decctlq",  combination, REV        | OMIT, 0,          0 )
>  #endif
> -#if defined(TABDLY) || defined(OXTABS)
> +#if TABDLY || OXTABS
>  	MI_ENTRY("tabs",     combination, REV        | OMIT, 0,          0 )
>  #endif
> -#if defined(XCASE) && defined(IUCLC) && defined(OLCUC)
> +#if XCASE && IUCLC && OLCUC
>  	MI_ENTRY("lcase",    combination, REV        | OMIT, 0,          0 )
>  	MI_ENTRY("LCASE",    combination, REV        | OMIT, 0,          0 )
>  #endif
> @@ -217,7 +324,7 @@ static const char mode_name[] =
>  	MI_ENTRY("cstopb",   control,     REV,               CSTOPB,     0 )
>  	MI_ENTRY("cread",    control,     SANE_SET   | REV,  CREAD,      0 )
>  	MI_ENTRY("clocal",   control,     REV,               CLOCAL,     0 )
> -#ifdef CRTSCTS
> +#if CRTSCTS
>  	MI_ENTRY("crtscts",  control,     REV,               CRTSCTS,    0 )
>  #endif
>  	MI_ENTRY("ignbrk",   input,       SANE_UNSET | REV,  IGNBRK,     0 )
> @@ -232,74 +339,78 @@ static const char mode_name[] =
>  	MI_ENTRY("ixon",     input,       REV,               IXON,       0 )
>  	MI_ENTRY("ixoff",    input,       SANE_UNSET | REV,  IXOFF,      0 )
>  	MI_ENTRY("tandem",   input,       REV        | OMIT, IXOFF,      0 )
> -#ifdef IUCLC
> +#if IUCLC
>  	MI_ENTRY("iuclc",    input,       SANE_UNSET | REV,  IUCLC,      0 )
>  #endif
> -#ifdef IXANY
> +#if IXANY
>  	MI_ENTRY("ixany",    input,       SANE_UNSET | REV,  IXANY,      0 )
>  #endif
> -#ifdef IMAXBEL
> +#if IMAXBEL
>  	MI_ENTRY("imaxbel",  input,       SANE_SET   | REV,  IMAXBEL,    0 )
>  #endif
>  	MI_ENTRY("opost",    output,      SANE_SET   | REV,  OPOST,      0 )
> -#ifdef OLCUC
> +#if OLCUC
>  	MI_ENTRY("olcuc",    output,      SANE_UNSET | REV,  OLCUC,      0 )
>  #endif
> -#ifdef OCRNL
> +#if OCRNL
>  	MI_ENTRY("ocrnl",    output,      SANE_UNSET | REV,  OCRNL,      0 )
>  #endif
> -#ifdef ONLCR
> +#if ONLCR
>  	MI_ENTRY("onlcr",    output,      SANE_SET   | REV,  ONLCR,      0 )
>  #endif
> -#ifdef ONOCR
> +#if ONOCR
>  	MI_ENTRY("onocr",    output,      SANE_UNSET | REV,  ONOCR,      0 )
>  #endif
> -#ifdef ONLRET
> +#if ONLRET
>  	MI_ENTRY("onlret",   output,      SANE_UNSET | REV,  ONLRET,     0 )
>  #endif
> -#ifdef OFILL
> +#if OFILL
>  	MI_ENTRY("ofill",    output,      SANE_UNSET | REV,  OFILL,      0 )
>  #endif
> -#ifdef OFDEL
> +#if OFDEL
>  	MI_ENTRY("ofdel",    output,      SANE_UNSET | REV,  OFDEL,      0 )
>  #endif
> -#ifdef NLDLY
> +#if NLDLY
>  	MI_ENTRY("nl1",      output,      SANE_UNSET,        NL1,     NLDLY)
>  	MI_ENTRY("nl0",      output,      SANE_SET,          NL0,     NLDLY)
>  #endif
> -#ifdef CRDLY
> +#if CRDLY
>  	MI_ENTRY("cr3",      output,      SANE_UNSET,        CR3,     CRDLY)
>  	MI_ENTRY("cr2",      output,      SANE_UNSET,        CR2,     CRDLY)
>  	MI_ENTRY("cr1",      output,      SANE_UNSET,        CR1,     CRDLY)
>  	MI_ENTRY("cr0",      output,      SANE_SET,          CR0,     CRDLY)
>  #endif
>  
> -#ifdef TABDLY
> +#if TABDLY
>  	MI_ENTRY("tab3",     output,      SANE_UNSET,        TAB3,   TABDLY)
> +# if TAB2
>  	MI_ENTRY("tab2",     output,      SANE_UNSET,        TAB2,   TABDLY)
> +# endif
> +# if TAB1
>  	MI_ENTRY("tab1",     output,      SANE_UNSET,        TAB1,   TABDLY)
> +# endif
>  	MI_ENTRY("tab0",     output,      SANE_SET,          TAB0,   TABDLY)
>  #else
> -# ifdef OXTABS
> +# if OXTABS
>  	MI_ENTRY("tab3",     output,      SANE_UNSET,        OXTABS,     0 )
>  # endif
>  #endif
>  
> -#ifdef BSDLY
> +#if BSDLY
>  	MI_ENTRY("bs1",      output,      SANE_UNSET,        BS1,     BSDLY)
>  	MI_ENTRY("bs0",      output,      SANE_SET,          BS0,     BSDLY)
>  #endif
> -#ifdef VTDLY
> +#if VTDLY
>  	MI_ENTRY("vt1",      output,      SANE_UNSET,        VT1,     VTDLY)
>  	MI_ENTRY("vt0",      output,      SANE_SET,          VT0,     VTDLY)
>  #endif
> -#ifdef FFDLY
> +#if FFDLY
>  	MI_ENTRY("ff1",      output,      SANE_UNSET,        FF1,     FFDLY)
>  	MI_ENTRY("ff0",      output,      SANE_SET,          FF0,     FFDLY)
>  #endif
>  	MI_ENTRY("isig",     local,       SANE_SET   | REV,  ISIG,       0 )
>  	MI_ENTRY("icanon",   local,       SANE_SET   | REV,  ICANON,     0 )
> -#ifdef IEXTEN
> +#if IEXTEN
>  	MI_ENTRY("iexten",   local,       SANE_SET   | REV,  IEXTEN,     0 )
>  #endif
>  	MI_ENTRY("echo",     local,       SANE_SET   | REV,  ECHO,       0 )
> @@ -308,21 +419,21 @@ static const char mode_name[] =
>  	MI_ENTRY("echok",    local,       SANE_SET   | REV,  ECHOK,      0 )
>  	MI_ENTRY("echonl",   local,       SANE_UNSET | REV,  ECHONL,     0 )
>  	MI_ENTRY("noflsh",   local,       SANE_UNSET | REV,  NOFLSH,     0 )
> -#ifdef XCASE
> +#if XCASE
>  	MI_ENTRY("xcase",    local,       SANE_UNSET | REV,  XCASE,      0 )
>  #endif
> -#ifdef TOSTOP
> +#if TOSTOP
>  	MI_ENTRY("tostop",   local,       SANE_UNSET | REV,  TOSTOP,     0 )
>  #endif
> -#ifdef ECHOPRT
> +#if ECHOPRT
>  	MI_ENTRY("echoprt",  local,       SANE_UNSET | REV,  ECHOPRT,    0 )
>  	MI_ENTRY("prterase", local,       REV | OMIT,        ECHOPRT,    0 )
>  #endif
> -#ifdef ECHOCTL
> +#if ECHOCTL
>  	MI_ENTRY("echoctl",  local,       SANE_SET   | REV,  ECHOCTL,    0 )
>  	MI_ENTRY("ctlecho",  local,       REV        | OMIT, ECHOCTL,    0 )
>  #endif
> -#ifdef ECHOKE
> +#if ECHOKE
>  	MI_ENTRY("echoke",   local,       SANE_SET   | REV,  ECHOKE,     0 )
>  	MI_ENTRY("crtkill",  local,       REV        | OMIT, ECHOKE,     0 )
>  #endif
> @@ -346,13 +457,13 @@ static const struct mode_info mode_info[] = {
>  	MI_ENTRY("cbreak",   combination, REV        | OMIT, 0,          0 )
>  	MI_ENTRY("crt",      combination, OMIT,              0,          0 )
>  	MI_ENTRY("dec",      combination, OMIT,              0,          0 )
> -#ifdef IXANY
> +#if IXANY
>  	MI_ENTRY("decctlq",  combination, REV        | OMIT, 0,          0 )
>  #endif
> -#if defined(TABDLY) || defined(OXTABS)
> +#if TABDLY || OXTABS
>  	MI_ENTRY("tabs",     combination, REV        | OMIT, 0,          0 )
>  #endif
> -#if defined(XCASE) && defined(IUCLC) && defined(OLCUC)
> +#if XCASE && IUCLC && OLCUC
>  	MI_ENTRY("lcase",    combination, REV        | OMIT, 0,          0 )
>  	MI_ENTRY("LCASE",    combination, REV        | OMIT, 0,          0 )
>  #endif
> @@ -367,7 +478,7 @@ static const struct mode_info mode_info[] = {
>  	MI_ENTRY("cstopb",   control,     REV,               CSTOPB,     0 )
>  	MI_ENTRY("cread",    control,     SANE_SET   | REV,  CREAD,      0 )
>  	MI_ENTRY("clocal",   control,     REV,               CLOCAL,     0 )
> -#ifdef CRTSCTS
> +#if CRTSCTS
>  	MI_ENTRY("crtscts",  control,     REV,               CRTSCTS,    0 )
>  #endif
>  	MI_ENTRY("ignbrk",   input,       SANE_UNSET | REV,  IGNBRK,     0 )
> @@ -382,74 +493,78 @@ static const struct mode_info mode_info[] = {
>  	MI_ENTRY("ixon",     input,       REV,               IXON,       0 )
>  	MI_ENTRY("ixoff",    input,       SANE_UNSET | REV,  IXOFF,      0 )
>  	MI_ENTRY("tandem",   input,       REV        | OMIT, IXOFF,      0 )
> -#ifdef IUCLC
> +#if IUCLC
>  	MI_ENTRY("iuclc",    input,       SANE_UNSET | REV,  IUCLC,      0 )
>  #endif
> -#ifdef IXANY
> +#if IXANY
>  	MI_ENTRY("ixany",    input,       SANE_UNSET | REV,  IXANY,      0 )
>  #endif
> -#ifdef IMAXBEL
> +#if IMAXBEL
>  	MI_ENTRY("imaxbel",  input,       SANE_SET   | REV,  IMAXBEL,    0 )
>  #endif
>  	MI_ENTRY("opost",    output,      SANE_SET   | REV,  OPOST,      0 )
> -#ifdef OLCUC
> +#if OLCUC
>  	MI_ENTRY("olcuc",    output,      SANE_UNSET | REV,  OLCUC,      0 )
>  #endif
> -#ifdef OCRNL
> +#if OCRNL
>  	MI_ENTRY("ocrnl",    output,      SANE_UNSET | REV,  OCRNL,      0 )
>  #endif
> -#ifdef ONLCR
> +#if ONLCR
>  	MI_ENTRY("onlcr",    output,      SANE_SET   | REV,  ONLCR,      0 )
>  #endif
> -#ifdef ONOCR
> +#if ONOCR
>  	MI_ENTRY("onocr",    output,      SANE_UNSET | REV,  ONOCR,      0 )
>  #endif
> -#ifdef ONLRET
> +#if ONLRET
>  	MI_ENTRY("onlret",   output,      SANE_UNSET | REV,  ONLRET,     0 )
>  #endif
> -#ifdef OFILL
> +#if OFILL
>  	MI_ENTRY("ofill",    output,      SANE_UNSET | REV,  OFILL,      0 )
>  #endif
> -#ifdef OFDEL
> +#if OFDEL
>  	MI_ENTRY("ofdel",    output,      SANE_UNSET | REV,  OFDEL,      0 )
>  #endif
> -#ifdef NLDLY
> +#if NLDLY
>  	MI_ENTRY("nl1",      output,      SANE_UNSET,        NL1,     NLDLY)
>  	MI_ENTRY("nl0",      output,      SANE_SET,          NL0,     NLDLY)
>  #endif
> -#ifdef CRDLY
> +#if CRDLY
>  	MI_ENTRY("cr3",      output,      SANE_UNSET,        CR3,     CRDLY)
>  	MI_ENTRY("cr2",      output,      SANE_UNSET,        CR2,     CRDLY)
>  	MI_ENTRY("cr1",      output,      SANE_UNSET,        CR1,     CRDLY)
>  	MI_ENTRY("cr0",      output,      SANE_SET,          CR0,     CRDLY)
>  #endif
>  
> -#ifdef TABDLY
> +#if TABDLY
>  	MI_ENTRY("tab3",     output,      SANE_UNSET,        TAB3,   TABDLY)
> +# if TAB2
>  	MI_ENTRY("tab2",     output,      SANE_UNSET,        TAB2,   TABDLY)
> +# endif
> +# if TAB1
>  	MI_ENTRY("tab1",     output,      SANE_UNSET,        TAB1,   TABDLY)
> +# endif
>  	MI_ENTRY("tab0",     output,      SANE_SET,          TAB0,   TABDLY)
>  #else
> -# ifdef OXTABS
> +# if OXTABS
>  	MI_ENTRY("tab3",     output,      SANE_UNSET,        OXTABS,     0 )
>  # endif
>  #endif
>  
> -#ifdef BSDLY
> +#if BSDLY
>  	MI_ENTRY("bs1",      output,      SANE_UNSET,        BS1,     BSDLY)
>  	MI_ENTRY("bs0",      output,      SANE_SET,          BS0,     BSDLY)
>  #endif
> -#ifdef VTDLY
> +#if VTDLY
>  	MI_ENTRY("vt1",      output,      SANE_UNSET,        VT1,     VTDLY)
>  	MI_ENTRY("vt0",      output,      SANE_SET,          VT0,     VTDLY)
>  #endif
> -#ifdef FFDLY
> +#if FFDLY
>  	MI_ENTRY("ff1",      output,      SANE_UNSET,        FF1,     FFDLY)
>  	MI_ENTRY("ff0",      output,      SANE_SET,          FF0,     FFDLY)
>  #endif
>  	MI_ENTRY("isig",     local,       SANE_SET   | REV,  ISIG,       0 )
>  	MI_ENTRY("icanon",   local,       SANE_SET   | REV,  ICANON,     0 )
> -#ifdef IEXTEN
> +#if IEXTEN
>  	MI_ENTRY("iexten",   local,       SANE_SET   | REV,  IEXTEN,     0 )
>  #endif
>  	MI_ENTRY("echo",     local,       SANE_SET   | REV,  ECHO,       0 )
> @@ -458,21 +573,21 @@ static const struct mode_info mode_info[] = {
>  	MI_ENTRY("echok",    local,       SANE_SET   | REV,  ECHOK,      0 )
>  	MI_ENTRY("echonl",   local,       SANE_UNSET | REV,  ECHONL,     0 )
>  	MI_ENTRY("noflsh",   local,       SANE_UNSET | REV,  NOFLSH,     0 )
> -#ifdef XCASE
> +#if XCASE
>  	MI_ENTRY("xcase",    local,       SANE_UNSET | REV,  XCASE,      0 )
>  #endif
> -#ifdef TOSTOP
> +#if TOSTOP
>  	MI_ENTRY("tostop",   local,       SANE_UNSET | REV,  TOSTOP,     0 )
>  #endif
> -#ifdef ECHOPRT
> +#if ECHOPRT
>  	MI_ENTRY("echoprt",  local,       SANE_UNSET | REV,  ECHOPRT,    0 )
>  	MI_ENTRY("prterase", local,       REV | OMIT,        ECHOPRT,    0 )
>  #endif
> -#ifdef ECHOCTL
> +#if ECHOCTL
>  	MI_ENTRY("echoctl",  local,       SANE_SET   | REV,  ECHOCTL,    0 )
>  	MI_ENTRY("ctlecho",  local,       REV        | OMIT, ECHOCTL,    0 )
>  #endif
> -#ifdef ECHOKE
> +#if ECHOKE
>  	MI_ENTRY("echoke",   local,       SANE_SET   | REV,  ECHOKE,     0 )
>  	MI_ENTRY("crtkill",  local,       REV        | OMIT, ECHOKE,     0 )
>  #endif
> @@ -497,31 +612,31 @@ enum {
>  	CIDX_kill,
>  	CIDX_eof,
>  	CIDX_eol,
> -#ifdef VEOL2
> +#if VEOL2
>  	CIDX_eol2,
>  #endif
> -#ifdef VSWTCH
> +#if VSWTCH
>  	CIDX_swtch,
>  #endif
>  	CIDX_start,
>  	CIDX_stop,
>  	CIDX_susp,
> -#ifdef VDSUSP
> +#if VDSUSP
>  	CIDX_dsusp,
>  #endif
> -#ifdef VREPRINT
> +#if VREPRINT
>  	CIDX_rprnt,
>  #endif
> -#ifdef VWERASE
> +#if VWERASE
>  	CIDX_werase,
>  #endif
> -#ifdef VLNEXT
> +#if VLNEXT
>  	CIDX_lnext,
>  #endif
> -#ifdef VFLUSHO
> +#if VFLUSHO
>  	CIDX_flush,
>  #endif
> -#ifdef VSTATUS
> +#if VSTATUS
>  	CIDX_status,
>  #endif
>  	CIDX_min,
> @@ -538,31 +653,31 @@ static const char control_name[] =
>  	CI_ENTRY("kill",     CKILL,   VKILL   )
>  	CI_ENTRY("eof",      CEOF,    VEOF    )
>  	CI_ENTRY("eol",      CEOL,    VEOL    )
> -#ifdef VEOL2
> +#if VEOL2
>  	CI_ENTRY("eol2",     CEOL2,   VEOL2   )
>  #endif
> -#ifdef VSWTCH
> +#if VSWTCH
>  	CI_ENTRY("swtch",    CSWTCH,  VSWTCH  )
>  #endif
>  	CI_ENTRY("start",    CSTART,  VSTART  )
>  	CI_ENTRY("stop",     CSTOP,   VSTOP   )
>  	CI_ENTRY("susp",     CSUSP,   VSUSP   )
> -#ifdef VDSUSP
> +#if VDSUSP
>  	CI_ENTRY("dsusp",    CDSUSP,  VDSUSP  )
>  #endif
> -#ifdef VREPRINT
> +#if VREPRINT
>  	CI_ENTRY("rprnt",    CRPRNT,  VREPRINT)
>  #endif
> -#ifdef VWERASE
> +#if VWERASE
>  	CI_ENTRY("werase",   CWERASE, VWERASE )
>  #endif
> -#ifdef VLNEXT
> +#if VLNEXT
>  	CI_ENTRY("lnext",    CLNEXT,  VLNEXT  )
>  #endif
> -#ifdef VFLUSHO
> +#if VFLUSHO
>  	CI_ENTRY("flush",    CFLUSHO, VFLUSHO )
>  #endif
> -#ifdef VSTATUS
> +#if VSTATUS
>  	CI_ENTRY("status",   CSTATUS, VSTATUS )
>  #endif
>  	/* These must be last because of the display routines */
> @@ -581,31 +696,31 @@ static const struct control_info control_info[] = {
>  	CI_ENTRY("kill",     CKILL,   VKILL   )
>  	CI_ENTRY("eof",      CEOF,    VEOF    )
>  	CI_ENTRY("eol",      CEOL,    VEOL    )
> -#ifdef VEOL2
> +#if VEOL2
>  	CI_ENTRY("eol2",     CEOL2,   VEOL2   )
>  #endif
> -#ifdef VSWTCH
> +#if VSWTCH
>  	CI_ENTRY("swtch",    CSWTCH,  VSWTCH  )
>  #endif
>  	CI_ENTRY("start",    CSTART,  VSTART  )
>  	CI_ENTRY("stop",     CSTOP,   VSTOP   )
>  	CI_ENTRY("susp",     CSUSP,   VSUSP   )
> -#ifdef VDSUSP
> +#if VDSUSP
>  	CI_ENTRY("dsusp",    CDSUSP,  VDSUSP  )
>  #endif
> -#ifdef VREPRINT
> +#if VREPRINT
>  	CI_ENTRY("rprnt",    CRPRNT,  VREPRINT)
>  #endif
> -#ifdef VWERASE
> +#if VWERASE
>  	CI_ENTRY("werase",   CWERASE, VWERASE )
>  #endif
> -#ifdef VLNEXT
> +#if VLNEXT
>  	CI_ENTRY("lnext",    CLNEXT,  VLNEXT  )
>  #endif
> -#ifdef VFLUSHO
> +#if VFLUSHO
>  	CI_ENTRY("flush",    CFLUSHO, VFLUSHO )
>  #endif
> -#ifdef VSTATUS
> +#if VSTATUS
>  	CI_ENTRY("status",   CSTATUS, VSTATUS )
>  #endif
>  	/* These must be last because of the display routines */
> @@ -740,6 +855,7 @@ static void newline(void)
>  		wrapf("\n");
>  }
>  
> +#ifdef TIOCGWINSZ
>  static void set_window_size(int rows, int cols)
>  {
>  	struct winsize win = { 0, 0, 0, 0 };
> @@ -760,6 +876,7 @@ static void set_window_size(int rows, int cols)
>  bail:
>  		perror_on_device("%s");
>  }
> +#endif
>  
>  static void display_window_size(int fancy)
>  {
> @@ -973,41 +1090,6 @@ static void sane_mode(struct termios *mode)
>  	}
>  }
>  
> -/* Save set_mode from #ifdef forest plague */
> -#ifndef ONLCR
> -#define ONLCR 0
> -#endif
> -#ifndef OCRNL
> -#define OCRNL 0
> -#endif
> -#ifndef ONLRET
> -#define ONLRET 0
> -#endif
> -#ifndef XCASE
> -#define XCASE 0
> -#endif
> -#ifndef IXANY
> -#define IXANY 0
> -#endif
> -#ifndef TABDLY
> -#define TABDLY 0
> -#endif
> -#ifndef OXTABS
> -#define OXTABS 0
> -#endif
> -#ifndef IUCLC
> -#define IUCLC 0
> -#endif
> -#ifndef OLCUC
> -#define OLCUC 0
> -#endif
> -#ifndef ECHOCTL
> -#define ECHOCTL 0
> -#endif
> -#ifndef ECHOKE
> -#define ECHOKE 0
> -#endif
> -
>  static void set_mode(const struct mode_info *info, int reversed,
>  					struct termios *mode)
>  {
> @@ -1093,27 +1175,32 @@ static void set_mode(const struct mode_info *info, int reversed,
>  			mode->c_cc[VTIME] = 0;
>  		}
>  	}
> -	else if (IXANY && info == &mode_info[IDX_decctlq]) {
> +#if IXANY
> +	else if (info == &mode_info[IDX_decctlq]) {
>  		if (reversed)
>  			mode->c_iflag |= IXANY;
>  		else
>  			mode->c_iflag &= ~IXANY;
>  	}
> -	else if (TABDLY && info == &mode_info[IDX_tabs]) {
> +#endif
> +#if TABDLY
> +	else if (info == &mode_info[IDX_tabs]) {
>  		if (reversed)
>  			mode->c_oflag = (mode->c_oflag & ~TABDLY) | TAB3;
>  		else
>  			mode->c_oflag = (mode->c_oflag & ~TABDLY) | TAB0;
>  	}
> -	else if (OXTABS && info == &mode_info[IDX_tabs]) {
> +#endif
> +#if OXTABS
> +	else if (info == &mode_info[IDX_tabs]) {
>  		if (reversed)
>  			mode->c_oflag |= OXTABS;
>  		else
>  			mode->c_oflag &= ~OXTABS;
> -	} else
> -	if (XCASE && IUCLC && OLCUC
> -	 && (info == &mode_info[IDX_lcase] || info == &mode_info[IDX_LCASE])
> -	) {
> +	}
> +#endif
> +#if XCASE && IUCLC && OLCUC
> +	else if (info==&mode_info[IDX_lcase] || info==&mode_info[IDX_LCASE]) {
>  		if (reversed) {
>  			mode->c_lflag &= ~XCASE;
>  			mode->c_iflag &= ~IUCLC;
> @@ -1123,7 +1210,9 @@ static void set_mode(const struct mode_info *info, int reversed,
>  			mode->c_iflag |= IUCLC;
>  			mode->c_oflag |= OLCUC;
>  		}
> -	} else if (info == &mode_info[IDX_crt]) {
> +	}
> +#endif
> +	else if (info == &mode_info[IDX_crt]) {
>  		mode->c_lflag |= ECHOE | ECHOCTL | ECHOKE;
>  	} else if (info == &mode_info[IDX_dec]) {
>  		mode->c_cc[VINTR] = 3; /* ^C */
> @@ -1419,7 +1508,7 @@ int stty_main(int argc UNUSED_PARAM, char **argv)
>  			perror_on_device_and_die("%s");
>  
>  		if (memcmp(&mode, &new_mode, sizeof(mode)) != 0) {
> -#ifdef CIBAUD
> +#if CIBAUD
>  			/* SunOS 4.1.3 (at least) has the problem that after this sequence,
>  			   tcgetattr (&m1); tcsetattr (&m1); tcgetattr (&m2);
>  			   sometimes (m1 != m2).  The only difference is in the four bits


More information about the busybox mailing list