Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_FS_1_19910112
-
c/lib5/usys/rename.c
There are 14 other files named rename.c in the archive. Click here to see a list.
/*
* RENAME - rename an existing file
*
* Copyright (c) 1987 by Ian Macky, SRI International
*/
#include "c-env.h"
#include "stdio.h"
#include "errno.h"
#include "sys/file.h"
#include "sys/usysig.h"
#include "jsys.h"
int rename(old, new)
char *old, *new;
{
#if SYS_T20+SYS_10X
int ablock[5], ojfn, njfn, ret;
USYS_BEG();
if (!(ojfn = _gtjfn(old, O_RDONLY))) /* get JFN on old file */
USYS_RETERR(ENOENT); /* failed! */
if (!(njfn = _gtjfn(new, O_WRONLY))) { /* get JFN on new file */
_rljfn(ojfn); /* failed; release jfn on */
USYS_RETERR(ENOENT); /* old file and err return */
}
ablock[1] = ojfn;
ablock[2] = njfn;
ret = jsys(RNAMF, ablock); /* do the rename */
_rljfn(njfn); /* release the new jfn */
if (!ret) {
_rljfn(ojfn);
USYS_RETERR(EXDEV); /* Most likely reason */
}
USYS_RET(0); /* take win return */
#else
#error rename() not supported for this system.
#endif
}