From 1995af5d2f2c8fe297bc835d449e890eefa1d7f3 Mon Sep 17 00:00:00 2001 From: pfg Date: Sat, 26 Dec 2015 18:26:44 +0000 Subject: [PATCH] MFC r291155: bc: sync with OpenBSD tty.c Rev. 1.3 Avoid unintended problems with operator precedence when doing an assignment and comparison. bc.1, Rev. 1.31, 1.32 '.Ql Quit' -> '.Ql quit' because only the lowercase command is valid. Clarify sentence about `quit` in BUGS section. extern.h, Rev. 1.12 whitespace bc.y, Rev. 1.47 Prefer setvbuf() to setlinebuf() for portability Obtained from: OpenBSD git-svn-id: svn://svn.freebsd.org/base/stable/10@292753 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- usr.bin/bc/bc.1 | 9 +++++---- usr.bin/bc/bc.y | 2 +- usr.bin/bc/extern.h | 10 +++++----- usr.bin/bc/tty.c | 6 +++--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/usr.bin/bc/bc.1 b/usr.bin/bc/bc.1 index 2d539ee1c..a762832b0 100644 --- a/usr.bin/bc/bc.1 +++ b/usr.bin/bc/bc.1 @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.\" $OpenBSD: bc.1,v 1.30 2014/01/14 07:42:42 jmc Exp $ +.\" $OpenBSD: bc.1,v 1.32 2015/11/17 05:45:35 mmcc Exp $ .\" .\" Copyright (C) Caldera International Inc. 2001-2002. .\" All rights reserved. @@ -35,7 +35,7 @@ .\" .\" @(#)bc.1 6.8 (Berkeley) 8/8/91 .\" -.Dd April 16, 2014 +.Dd November 21 2015 .Dt BC 1 .Os .Sh NAME @@ -407,8 +407,9 @@ The current version of the utility was written by .An Otto Moerbeek . .Sh BUGS -.Ql Quit -is interpreted when read, not when executed. +The +.Ql quit +statement is interpreted when read, not when executed. .Pp Some non-portable extensions, as found in the GNU version of the .Nm diff --git a/usr.bin/bc/bc.y b/usr.bin/bc/bc.y index 8e7e00cbf..50454e654 100644 --- a/usr.bin/bc/bc.y +++ b/usr.bin/bc/bc.y @@ -1125,7 +1125,7 @@ main(int argc, char *argv[]) int ch, i; init(); - setlinebuf(stdout); + setvbuf(stdout, NULL, _IOLBF, 0); sargv = malloc(argc * sizeof(char *)); if (sargv == NULL) diff --git a/usr.bin/bc/extern.h b/usr.bin/bc/extern.h index 685942acd..7909a17dd 100644 --- a/usr.bin/bc/extern.h +++ b/usr.bin/bc/extern.h @@ -1,5 +1,5 @@ /* $FreeBSD$ */ -/* $OpenBSD: extern.h,v 1.10 2013/09/19 16:12:01 otto Exp $ */ +/* $OpenBSD: extern.h,v 1.12 2014/04/17 19:07:14 otto Exp $ */ /* * Copyright (c) 2003, Otto Moerbeek @@ -39,9 +39,9 @@ extern int fileindex; extern int sargc; extern const char **sargv; extern const char *filename; -extern bool interactive; -extern EditLine *el; -extern History *hist; -extern HistEvent he; +extern bool interactive; +extern EditLine *el; +extern History *hist; +extern HistEvent he; extern char *cmdexpr; extern struct termios ttysaved; diff --git a/usr.bin/bc/tty.c b/usr.bin/bc/tty.c index 05f9d1431..f5d72fc9c 100644 --- a/usr.bin/bc/tty.c +++ b/usr.bin/bc/tty.c @@ -1,5 +1,5 @@ /* $FreeBSD$ */ -/* $OpenBSD: tty.c,v 1.2 2013/11/12 13:54:51 deraadt Exp $ */ +/* $OpenBSD: tty.c,v 1.3 2015/09/05 09:49:24 jsg Exp $ */ /* * Copyright (c) 2013, Otto Moerbeek @@ -30,7 +30,7 @@ settty(struct termios *t) { int ret; - while ((ret = tcsetattr(0, TCSADRAIN, t) == -1) && errno == EINTR) + while ((ret = tcsetattr(0, TCSADRAIN, t)) == -1 && errno == EINTR) continue; return ret; } @@ -40,7 +40,7 @@ gettty(struct termios *t) { int ret; - while ((ret = tcgetattr(0, t) == -1) && errno == EINTR) + while ((ret = tcgetattr(0, t)) == -1 && errno == EINTR) continue; return ret; } -- 2.45.0