On Friday 20 December 2002 01:20 pm, Michael Rueger wrote:
The culprit is the change to the filename method which now replace the "/" with the platform slash. Which doesn't do anything on *ix, but breaks code using archive member file names on the other platforms.
I see the following methods where the use of fileName is probably causing a problem:
ResourceManager>>loadResource: urlString fromCacheFileNamed: fileName in: dir ResourceManager>>preLoadFromArchive: aZipArchive cacheName: aFileName
Ned, what was your intention in that change?
To make the interface between zips and local directories better; to make the API handle local filenames without having to do explicit translations (i.e. memberNamed: now looks at rawFileName and then fileName).
In retrospect, though, I should have left fileName alone and added localFileName and localFileName: in the places that needed it.
Should we have two different methods, one returning the unmodified name and the other the plaform specific one?
We do. #rawFileName is the '/' separated one, and #fileName is the local filename version.
However, I'd like to change it to #fileName and #localFileName so as not to break the ResourceManager and ServerDirectory code.
Let me work on this. I'll test on Mac and Windows.