On 4/4/07, David Kerber <[EMAIL PROTECTED]> wrote:
I guess I should stop arguing this; I can live and work with either one as long as I know what's expected, even if it's not how I would have designed it...
It's strongly preferred that .cc be used for C++ programs instead of .C. Even so, case-sensitive filesystems have one thing that case-insensitive filesystems lack: virtually automatic support for UTF-8-encoded names with an absolute minimum of code to do it. It can implement this with dumb byte-by-byte comparisons. Either a chunk of memory matches, or it doesn't. Otherwise, you'll need to support crazy internationalization APIs when doing even the simplest of directory manipulations. For example, using toupper() to uppercase a filename for comparison purposes in OS/2 was _strongly_ discouraged because it failed to properly handle internationalization. Instead, they had a custom API just for this one, and only one, purpose: DosMapCase() if I recall correctly. I suspect Windows will have something similar. And I'm willing to bet you that the code behind DosMapCase() is more than a kilobyte in size, not counting all the internationalization tables. This leads to an interesting conundrum: if you need crazy internationalization functions to properly match filenames, but the internationalization database resides on disk, now you need a _default_ locale for the filesystem layer, thus now duplicating data and code further, something with which to bootstrap the desired locale with! Ouch. I agree that case preservation is a good thing; however, a full case-insensitive implementation is not worth the time investment to "Get It Right For Everyone."(tm) -- Samuel A. Falvo II _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

