From owner-freebsd-hackers Mon Oct 16 13:46:58 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id NAA20564 for hackers-outgoing; Mon, 16 Oct 1995 13:46:58 -0700 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id NAA20547 for ; Mon, 16 Oct 1995 13:46:53 -0700 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id NAA25331; Mon, 16 Oct 1995 13:40:10 -0700 From: Terry Lambert Message-Id: <199510162040.NAA25331@phaeton.artisoft.com> Subject: Re: A couple problems in FreeBSD 2.1.0-950922-SNAP To: ache@astral.msk.su (=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?=) Date: Mon, 16 Oct 1995 13:40:10 -0700 (MST) Cc: bde@zeta.org.au, j@uriah.heep.sax.de, hackers@freefall.freebsd.org, kaleb@x.org In-Reply-To: from "=?KOI8-R?Q?=E1=CE=C4=D2=C5=CA_=FE=C5=D2=CE=CF=D7?=" at Oct 16, 95 02:45:20 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1620 Sender: owner-hackers@FreeBSD.org Precedence: bulk > >BTW, this hack adds 24K to the size of a minimal statically linked > >program `main() {}' and defeats the point of most of the specially named > >routines in crt0.c. E.g., there is a special version of getenv() named > >_getenv() to avoid the namespace pollution and bloat from getenv(), but > >the hack calls getenv() anyway; there are special versions of read() and > >write(), but _startup_setlocale() references things in stdio that reference > >read() and write(). > > And what? Now too many pgms require proper locale support, even ls, > so we can't avoid this thing. Code added regardles of > ENABLE_STARTUP_LOCALE set or not, so 'hack' means this variable > as I understand and not code added. As I already say, > I can revert default case to pick ctype and use variable > DISABLE_STARTUP_LOCALE to disable it for debugging purposes. aaaaaaaaaaaaaaauuuuuuuuuuuuuuuuuuuuuuuuuuggggggggggggggggggghhhhhhhhhhhhh! Why do we think ls requires this? Because the default locale is 'C', doesn't mean that the default locale should not be ISO 8 bit clean. Also, programs whose output is limited in this fashion should be explicitly calling setlocale(), or they are only half-assed in their attempt to support internationalization. In the case that it is explicitly called (ie: programs supposedly using these features), then the hack is unnecessary. Likewise, if the program is *not* using theses features, then they should stick their ugly noses into the tent uninvited. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.