Hi Don,
OK, I get that - in DPS this is the concept of runtime "objects", which have a 16 byte "name" but it is not for user consumption. I use text in it but this is just a matter of convenience when I code. When the system searches for an object it just compares bytes (well longwords in reality, it does that with filenames too actually :-) ).
But we were talking of a "file system", and in a file system one does have files which do have names some of which are created by humans and supposed to be read/memorized by humans. At some level we do need the text for the name stored and searchable. If we just store the name text as bytes we end up needing twice the search overhead to do it case independent; which is why I think the unix makers back then left it case dependent, did not want to be bothered. It takes only a little - a bit per character - to do it the way it is done in DPS, and you have the best of both worlds. Case-free name information followed by the respective case bitstream. Somewhat more demanding to code but completely doable, was that for me anyway.
Well if you do not need to reproduce the names you get back you can simply hash the incoming names into what, 64 or may be just
32 bits and you are done. If you want to reproduce them forget it, just storing them as you got them is the only sensible way to go. Which does not preclude you from "hashing" (in fact you can just use the addresses of the stored names or sort of) for your internal purposes, of course.Oh come on Don, we all know the alphabet here, let's not go over it again.
Yes, for the dps objects I wrote earlier about I do that sort of thing by making them do "listname" (or whatever the action was called). The plainest of objects just paste as text ("paste" at an address in memory, that is... :-) ) their 16 byte ID, more sophisticated ones which must be shown to the user have something better to paste (which may be static or not). But generally there is not much else you can do, if you need two different names for a thing you need two separate names, what can you do. OTOH common file systems pose very little restrictions which will be in your way when you invent names during programming so I am not sure at all you have a real issue here.
Dimiter
------------------------------------------------------ Dimiter Popoff, TGI
------------------------------------------------------