|
|
Xinu for VAX
/* rename.c - rename */
#include <conf.h>
#include <kernel.h>
#include <file.h>
#include <name.h>
/*------------------------------------------------------------------------
* rename - rename a file (key is optional)
*------------------------------------------------------------------------
*/
SYSCALL rename(old, new)
char *old;
char *new;
{
char fullold[NAMLEN];
char fullnew[NAMLEN];
struct devsw *devptr;
int dev, dev2;
/* map names through namespace and restrict to single device */
if ( (dev = nammap(old, fullold)) == SYSERR ||
(dev2= nammap(new, fullnew)) == SYSERR ||
dev != dev2)
return(SYSERR);
devptr = &devtab[dev];
return( (*devptr->dvcntl)(devptr,FLRENAME,fullold,fullnew) );
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.