home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gdb-4.16-base.tgz / gdb-4.16-base.tar / fsf / gdb / libiberty / rename.c < prev    next >
C/C++ Source or Header  |  1995-05-16  |  351b  |  23 lines

  1. /* rename -- rename a file
  2.    This function is in the public domain. */
  3.  
  4. /* Rename a file.  */
  5.  
  6. #include <errno.h>
  7.  
  8. int
  9. rename (zfrom, zto)
  10.      char *zfrom;
  11.      char *zto;
  12. {
  13.   if (link (zfrom, zto) < 0)
  14.     {
  15.       if (errno != EEXIST)
  16.     return -1;
  17.       if (unlink (zto) < 0
  18.       || link (zfrom, zto) < 0)
  19.     return -1;
  20.     }
  21.   return unlink (zfrom);
  22. }
  23.