repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
2001-05-26 Philip Blundell <philb@gnu.org>
[official-gcc.git]
/
libiberty
/
rename.c
blob
2e9dec18fa1d38c50fbaaf5956bbcb9e24192d50
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
}