Mercurial > hg > early-roguelike
view srogue/newterm.c @ 96:9fb343307b6b
Fix some 'test' failures when running 'make install'.
When shell variables are unexpectedly empty, 'test' gets the wrong
number of arguments and becomes unhappy. Logical AND should not be
done with 'test EXPR1 -a EXPR2' in such cases, because 'test' logic
does not short-circuit. Replace with 'test EXPR1 && test EXPR2'.
Shell logic does short-circuit, and if the first test invocation
fails, the second will never occur, and will never encounter missing
arguments.
author | John "Elwin" Edwards |
---|---|
date | Tue, 27 Aug 2013 22:54:28 -0700 |
parents | 2128c7dc8a40 |
children |
line wrap: on
line source
/* * Super-Rogue * Copyright (C) 1984 Robert D. Kindelberger * All rights reserved. * * See the file LICENSE.TXT for full copyright and licensing information. */ #include "rogue.h" extern SGTTY _tty, _res_flg; extern bool NONL; raw() { /* VERSION 5.0 _tty.c_lflag &= ~ICANON; _tty.c_cc[VMIN] = 1; _tty.c_cc[VTIME] = 255; _tty.c_oflag &= ~OPOST; */ _rawmode = TRUE; _tty.sg_flags |= CBREAK; ioctl(_tty_ch, TIOCSETP, &_tty); } noraw() { /* VERSION 5.0 _tty.c_lflag |= ICANON; _tty.c_cc[VMIN] = _res_flg.c_cc[VMIN]; _tty.c_cc[VTIME] = _res_flg.c_cc[VTIME]; _tty.c_oflag |= OPOST; */ _rawmode = FALSE; _tty.sg_flags &= ~CBREAK; ioctl(_tty_ch, TIOCSETP, &_tty); } crmode() { /* VERSION 5.0 _tty.c_lflag &= ~ICANON; _tty.c_oflag |= ONLCR; _tty.c_cc[VMIN] = 1; _tty.c_cc[VTIME]=255; */ _rawmode = TRUE; _tty.sg_flags |= (CBREAK | CRMOD); ioctl(_tty_ch, TIOCSETP, &_tty); } nocrmode() { /* _tty.c_lflag |= ICANON; _tty.c_cc[VMIN]=_res_flg.c_cc[VMIN]; _tty.c_cc[VTIME]=_res_flg.c_cc[VTIME]; */ _rawmode = FALSE; _tty.sg_flags &= ~CBREAK; ioctl(_tty_ch, TIOCSETP, &_tty); } echo() { _tty.sg_flags |= ECHO; _echoit=TRUE; ioctl(_tty_ch, TIOCSETP, &_tty); } noecho() { _tty.sg_flags &= ~ECHO; _echoit = FALSE; ioctl(_tty_ch, TIOCSETP, &_tty); } nl() { /* VERSION 5.0 _tty.c_iflag |= ICRNL; _tty.c_oflag |= ONLCR; */ _tty.sg_flags |= CRMOD; NONL = TRUE; ioctl(_tty_ch, TIOCSETP, &_tty); } nonl() { /* VERSION 5.0 _tty.c_iflag &= ~ICRNL; _tty.c_oflag &= ~ONLCR; */ _tty.sg_flags &= ~CRMOD; NONL = FALSE; ioctl(_tty_ch, TIOCSETP, &_tty); } savetty() { ioctl(_tty_ch, TIOCGETP, &_tty); _res_flg = _tty; } resetty() { _tty = _res_flg; ioctl(_tty_ch, TIOCSETP, &_tty); }