home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / libiberty / rename.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-12  |  351 b   |  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.