On Sun, Apr 20, 2008 at 3:19 AM, Gerriet M. Denkmann <[EMAIL PROTECTED]> wrote:
> I need an absolute path. > > So I do: > > NSFileManager *fima = [ NSFileManager defaultManager ]; > NSString *fileType = [ [ fima fileAttributesAtPath: path traverseLink: NO > ]; fileType ]; > if ( [ fileType isEqualToString: NSFileTypeSymbolicLink ] ) > path = [ fima pathContentOfSymbolicLinkAtPath: path ]; > > The problem is: "/tmp" is converted to "private/tmp" (Note the missing > slash at the start). Well, it's not "converted". In OS X, "/tmp" is a relative symbolic link. -[NSFileManager pathContentOfSymbolicLinkAtPath:] calls something like readlink(2) behind the scenes. So what you get back is the content of the link... which is a relative directory name. > > Short of hardcoding a change from "private" to "/private" - > is there some Cocoa (or Carbon or bsd or whatever) way to get "/tmp" > converted to "/private/tmp" (with the leading slash) ? > (Same problem exists for /etc and /var). You can do this: [[path stringByDeletingLastPathComponent] stringByAppendingPathComponent:[fima pathContentOfSymbolicLinkAtPath > > :path]]; I think that will work. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]