From owner-freebsd-current Sun Mar 5 17:15:04 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id RAA14246 for current-outgoing; Sun, 5 Mar 1995 17:15:04 -0800 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id RAA14232 for ; Sun, 5 Mar 1995 17:15:00 -0800 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id LAA08845; Mon, 6 Mar 1995 11:13:22 +1000 Date: Mon, 6 Mar 1995 11:13:22 +1000 From: Bruce Evans Message-Id: <199503060113.LAA08845@godzilla.zeta.org.au> To: current@FreeBSD.org, gibbs@estienne.CS.Berkeley.EDU Subject: Re: Unprotected area of termios.h? Sender: current-owner@FreeBSD.org Precedence: bulk >Why was this done? >/* > * END OF PROTECTED INCLUDE. > */ >#endif /* !_SYS_TERMIOS_H_ */ >#ifndef _POSIX_SOURCE >#include >#endif It's a hack for some programs wanting to get the definition of ttydefchars[] by including a header twice with TTYDEFCHARS defined the second time, and expecting to get this definition as namespace pollution in <[sys/]termios.h> instead of from . The new ld has apparently uncovered the bug that sio.c and tty.c both define ttydefchars[] as globals. This was fixed in 1.1.5 by making ttydefchars[] static like it should always have been. See the revision log for the 2.0 for how the non-idempotency hack was broken and the revision log for the 1.1.5 for ancient history. Bruce