added symlnk. DLW
[unix-history] / usr / src / usr.bin / f77 / libU77 / rename_.c
CommitLineData
ea19f6e0
DW
1/*
2char id_rename[] = "@(#)rename_.c 1.1";
3 *
4 * rename a file atomically
5 *
6 * synopsis:
7 * integer function rename (from, to)
8 * character*(*) from, to
9 *
10 * where:
11 * return value will be zero normally, an error number otherwise.
12 */
13
14#include "../libI77/f_errno.h"
15
16long
17rename_ (from, to, frlen, tolen)
18char *from, *to;
19long frlen, tolen;
20{
21 char frbuf[256];
22 char tobuf[256];
23
24 if (frlen <= 0 || tolen <= 0 || *from == ' ' || *to == ' ')
25 return ((long)(errno = F_ERARG));
26 if (frlen >= sizeof frbuf || tolen >= sizeof tobuf)
27 return ((long)(errno = F_ERARG));
28 g_char (from, frlen, frbuf);
29 g_char (to, tolen, tobuf);
30 if (rename (from, to) != 0)
31 return ((long)errno);
32 return (0L);
33}