From: Jacek S. <arn...@gm...> - 2007-11-22 21:51:26
|
itinerants wrote: > I've just spent a (was it happy, or was it unhappy) several hours tracking > down a long standing problem in my Mac port. Welcome to the happy world of unicode then...I'm guessing your c library normalizes text (which is probably not a bug...dc++ just doesn't consider those aspects of unicode). > To cut a very long story short, my problem was that certain 'non-ascii' > characters would lowercase to one thing, and then lowercasing that would > give me something else (the 'ae' dipthong was the problem), so the hashing > would hash it again on each launch. > Obviously this is a bug in my standard c libraries (I'm getting tired of > those), but it did lead me to wondering why HashLoader::startTag is > lowercasing the files it reads from HashIndex.xml - they were lowercased > before they were written to it, so surely ... > string fname = Text::toLower(Util::getFileName(file)); > string fpath = Text::toLower(Util::getFilePath(file)); > Isn't required? > > Incidentally, perhaps someone could enlighten me as to why file names are > being lowercased at all? The ADC spec says filenames are case insensitive, hence the lowercase (otherwise they'd require case insensitive matching which is just as tricky). I'm guessing the lowercase call on xml load is for backwards compatibility. /J |