On Mon, Jul 16, 2007 at 04:35:10PM +0200, Johannes Sixt wrote: > It tries to remove a *file* that is in the way and create the directory > in its place. But since your unlink() behaves incorrectly (it is > supposed to *fail* for directories), the logic does not quite work as > expected - it mistakes the directory for a file. http://www.opengroup.org/onlinepubs/007908799/xsh/unlink.html | The path argument must not name a directory unless the process has | appropriate privileges and the implementation supports using unlink() on | directories. The above seems to imply that implementations are free to do something with directories passed to unlink, and that it is the responsibility if the user not to do that unless they know what is going to happen. -bcd - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html