Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!gorodish!guy From: guy%gorodish@Sun.COM (Guy Harris) Newsgroups: comp.std.internat Subject: Re: International Collating Sequence Message-ID: <30721@sun.uucp> Date: Mon, 12-Oct-87 18:33:13 EDT Article-I.D.: sun.30721 Posted: Mon Oct 12 18:33:13 1987 Date-Received: Wed, 14-Oct-87 01:29:27 EDT References: <2706@sol.ARPA> <29640@sun.uucp> <363@zuring.cwi.nl> <1483@ist.UUCP> Sender: news@sun.uucp Lines: 33 > Why not strip the string routines from libc into a shared library, > that can be dynamically linked at run time? Or even just strcmp() > and strncmp()? Because: 1) Some systems will permit you to link a program completely statically, so they won't be affected by changes to the shared library. 2) This makes it harder to add support for new collating sequences, as the person adding this support has to build an entirely new shared library. 3) This also makes it harder for a program to *change* the current language in midstream; one could imagine a program (e.g., a multilingual word processor) wanting to do so. Also, changing "strcmp" would cause problems, because some program might want to support *both* a particular natural language's sorting order and the "native" byte-string sorting order. The X3J11 committee developing the ANSI C has already come up with schemes to support sorting orders other than the native byte-string order; these schemes permit programs to change the sorting order on-the-fly, and to use "strcmp" directly if this is called for. Typical implementations will, one hopes, load the sorting order information from a file, based on the current locale. This file will be tailorable by people without the source code, so that, for example, a vendor could distribute the system worldwide and have people in each country tailor it for their environment (since developers at the home office may not know that country's environment as well as the people in that country). Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.com