rename.c revision 77298
1/* rename -- rename a file 2 This function is in the public domain. */ 3 4/* Rename a file. */ 5 6#ifdef HAVE_CONFIG_H 7#include "config.h" 8#endif 9#include <errno.h> 10#ifdef HAVE_UNISTD_H 11#include <unistd.h> 12#endif 13 14int 15rename (zfrom, zto) 16 char *zfrom; 17 char *zto; 18{ 19 if (link (zfrom, zto) < 0) 20 { 21 if (errno != EEXIST) 22 return -1; 23 if (unlink (zto) < 0 24 || link (zfrom, zto) < 0) 25 return -1; 26 } 27 return unlink (zfrom); 28} 29