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: Um... How do you rename a file?



On 26 Mar 2004, at 09:17, p3consulting wrote:

> A latest small point:
> case-sensitivity of the target file system may influence the success or
> failure of a rename operation according to
> the system call used by the application:
> Finder (Carbon application) is successfull at renaming a file to
> another case spelling: eg "foo" to "Foo"
> where ProjectBuilder and Xcode (Cocoa application) both fail to.
>
> In consequence, moving files from a case-sensitive file system to a
> non-case sensitve one may turn out to be a tricky operation:
> the set of files ("foo", "Foo") will generate the set of results
> ("foo", failure) if movePath:toPath is used.
>
> For that particular aspect movePath:toPath is NOT equivalent to mv.

I don't know about you, but I consider that to be a bug.

A workaround might be to use rename() for simple renames and only
resort to NSFileManager for actual move operations... something like
this:

if (rename ([oldName fileSystemRepresentation],
[newName fileSystemRepresentation]) < 0) {
if (errno == EXDEV) {
if (![[NSFileManager defaultManager] movePath:oldName
toPath:newName
handler:nil]) {
/* Failure */
}
else {
/* Failure */
}
}

Kind regards,

Alastair.

--
http://www.alastairs-place.net

[demime 0.98b removed an attachment of type application/pkcs7-signature which had a name of smime.p7s]
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.


References: 
 >Re: Um... How do you rename a file? (From: Ken Tozier <email@hidden>)
 >Re: Um... How do you rename a file? (From: Alastair Houghton <email@hidden>)
 >Re: Um... How do you rename a file? (From: p3consulting <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.