[racket] reliable path comparison?

From: Danny Yoo (dyoo at cs.wpi.edu)
Date: Wed Oct 20 23:38:03 EDT 2010

>> I'm trying to compare two paths for equality; I misread
>> normalize-path and didn't realize that it does not do case folding,
>> so that on Windows,
>>
>>    (equal? (build-path "C:\\")
>>               (build-path "c:\\"))
>>
>> returns false.  What's the right way to compare paths for equality?
>
> IIRC, there was no right way -- I think that on windows you can have
> some drives be case-sensitive and some are not.


Yikes.  Ok, is there a way to tell if a filesystem root is
case-sensitive or not?



>> As a related question, what's the right way to see if one directory
>> is a subdirectory of another?
>
> Explode the two and check if one is a prefix of the other?

Thank you; that appears to work for me.


Posted on the users mailing list.