1/* rename.c 2 Rename a file to a new name (Unix specific implementation). */ 3 4#include "uucp.h" 5 6#include "sysdep.h" 7 8#include <errno.h> 9 10/* This implementation will not work on directories, but fortunately 11 we never want to rename directories. */ 12 13int 14rename (zfrom, zto) 15 const char *zfrom; 16 const char *zto; 17{ 18 if (link (zfrom, zto) < 0) 19 { 20 if (errno != EEXIST) 21 return -1; 22 if (unlink (zto) < 0 23 || link (zfrom, zto) < 0) 24 return -1; 25 } 26 return unlink (zfrom); 27} 28