projects
/
external
/
binutils.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
merge from gcc
[external/binutils.git]
/
libiberty
/
rename.c
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
14
int
15
rename (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
}