1*19921Ssam # include "../hdr/macros.h"
2*19921Ssam # include "errno.h"
3*19921Ssam # include "../hdr/fatal.h"
4*19921Ssam SCCSID(@(#)rename	2.1);
5*19921Ssam 
6*19921Ssam /*
7*19921Ssam 	rename (unlink/link)
8*19921Ssam 	Calls xlink() and xunlink().
9*19921Ssam */
10*19921Ssam 
rename(oldname,newname)11*19921Ssam rename(oldname,newname)
12*19921Ssam char *oldname, *newname;
13*19921Ssam {
14*19921Ssam 	extern int errno;
15*19921Ssam 
16*19921Ssam 	if (unlink(newname) < 0 && errno != ENOENT)
17*19921Ssam 		return(xunlink(newname));
18*19921Ssam 
19*19921Ssam 	if (xlink(oldname,newname) == Fvalue)
20*19921Ssam 		return(-1);
21*19921Ssam 	return(xunlink(oldname));
22*19921Ssam }
23