Re: Length of a filename
Re: Length of a filename
- Subject: Re: Length of a filename
- From: Jean-Daniel Dupas <email@hidden>
- Date: Thu, 16 Oct 2008 16:18:50 +0200
Le 16 oct. 08 à 11:31, Gerriet M. Denkmann a écrit :
How can I check the appositeness of a filename?
This will not work:
if ( [potentialPath length] > 255 ) ... error: filename too long
because HFS+ uses some decomposed form.
This might work:
if ( [[ NSString stringWithUTF8String: [potentialPath
fileSystemRepresentation] ] length] > 255 ) ...
but looks kind of convoluted and inefficient.
There are two methods in NSString:
decomposedStringWithCanonicalMapping
decomposedStringWithCompatibilityMapping
but the documentation does not say which (if any) should be used to
convert a potentialPath into a form used in HFS+.
Kind regards,
Gerriet.
HFS use a special Unicode implementation with some bug or limitation
that remains for compatibility. That's why you should never try to
I think you can use this undocumented but public function to try to
convert your string and check the result code:
OSStatus FSGetHFSUniStrFromString(CFStringRef str, HFSUniStr255
*uniStr);
As NSString and CFString are toolfree bridged, just pass your string
as first argument.
But it's probably not a good idea to check to path name youself except
if you are sure your user target an HFS+ volume.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden