Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Length of a filename




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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >Length of a filename (From: "Gerriet M. Denkmann" <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.