Actually there are calls to convert a colon-delimited absolute path into a internal format. CFURLCreateWithFileSystemPath creates a CFURL from a HFS/Windows/POSIX path. Then CFURLGetFSRef will return an FSRef, assuming that the path points to an existing item.
Charles Yeomans On Mar 27, 2007, at 3:33 AM, Glenn L. Austin wrote: > It's not "wierd" at all. > > HFS file names have a maximum length of 31 bytes (yes, bytes). > > HFS Extended (HFS+) file names have a maximum length of 255 > decomposed Unicode glyphs. > > If you attempt to access a file that has a name longer than 31 bytes > using HFS calls, you'll get the second (CX default cal > 9_16_0#7B558.icc) name. Accessing the file using HFS+ calls gives > you the first name (CX default cal 9_16_05-4270D40.icc). > > One challenge is that there is no real "HFS+ absolute path" -- > although the HFS path idea (using colons between path elements) can > be used to create an "HFS+" path, there is no call to convert that > path to a internal format (FSSpec). A shell path is basically a > UTF-8-encoded version of the Unicode names. > > On Mar 26, 2007, at 11:14 PM, Karl Holmes wrote: > >> When we have been building installers on Mac (using MacInstaller >> builder) we have noticed some weird things when a file name exceeds >> 31 characters. (sorry I can't recall specifics). Not sure of cause >> but we now always ensure we use installer names with 31 or less >> characters and have not had any further problems. Perhaps what we >> have seen and what you are experiencing are related in some way. >> I notice that your file name is 34 characters and the truncated one >> is 31. >> >>>> CX default cal 9_16_05-4270D40.icc >>>> CX default cal 9_16_0#7B558.icc >>> >>> I have seen something similar to this happen on OSX when using >>> absolute >>> paths. Are you using absolute path anywhere? >> _______________________________________________ Unsubscribe or switch delivery mode: <http://www.realsoftware.com/support/listmanager/> Search the archives: <http://support.realsoftware.com/listarchives/lists.html>
