|
|
1.1 root 1: /* rename.c - rename */
2:
3: #include <conf.h>
4: #include <kernel.h>
5: #include <file.h>
6: #include <name.h>
7:
8: /*------------------------------------------------------------------------
9: * rename - rename a file (key is optional)
10: *------------------------------------------------------------------------
11: */
12: SYSCALL rename(old, new)
13: char *old;
14: char *new;
15: {
16: char fullold[NAMLEN];
17: char fullnew[NAMLEN];
18: struct devsw *devptr;
19: int dev, dev2;
20:
21: /* map names through namespace and restrict to single device */
22:
23: if ( (dev = nammap(old, fullold)) == SYSERR ||
24: (dev2= nammap(new, fullnew)) == SYSERR ||
25: dev != dev2)
26: return(SYSERR);
27: devptr = &devtab[dev];
28: return( (*devptr->dvcntl)(devptr,FLRENAME,fullold,fullnew) );
29: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.