Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!hobbes.physics.uiowa.edu!news.iastate.edu!ux1.cso.uiuc.edu!usenet From: mcdonald@aries.scs.uiuc.edu (Doug McDonald) Newsgroups: comp.lang.c Subject: toupper, isupper.., and the flamewar in comp.binaries.ibm.pc.d Summary: flammable Message-ID: <1991Jun19.142712.18614@ux1.cso.uiuc.edu> Date: 19 Jun 91 14:27:12 GMT Sender: usenet@ux1.cso.uiuc.edu (News) Organization: University of Illinois at Urbana Lines: 28 Ok, its time to move this here. There has been a very big flamefest in comp.binaries.ibm.pc.d about 8 bit chars and editors for use with Icelandic. What does this have to do with comp.lang.c? The answer is, of course, the isupper, islower, toupper, tolower functions or macros. Now that ANSI C is the standard for C, and all compiler vendors have had plenty of time to implement it [no flames on that - it is a fact], what should we expect those four functions to do? I think we just should say "be done with this problem" and, for 8 bit (or nine or 10, but not 16) chars, just use a table. But how to set the table for all possible languages. A 1024 byte table is not very big - but 1024 bytes for all possible locales is obvious a bit large. What to do? I see a big set of tables, which exists as a separate file, which an installation mode of the program reads at install time and loads the correct tables (or tables, allowing limited settability inside the main program) into the data part of the executable. The outcome of the flamewar on c.b.i.p.d is clear: this is NECESSARY for a lot of different programs. We need to figure out the best way to do it. Doug McDonald