xv6

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 6bf2e5c898db477300189de1a5083a9692a6cbb6
parent c88bf235fe2e5df91d0f486c3a5fc5a5a2e273da
Author: rsc <rsc>
Date:   Wed, 22 Aug 2007 05:54:55 +0000

add ln

Diffstat:
MMakefile | 6+++++-
Aln.c | 15+++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile @@ -105,6 +105,10 @@ _rm : rm.o $(ULIB) $(LD) -N -e main -Ttext 0 -o _rm rm.o $(ULIB) $(OBJDUMP) -S _rm > rm.asm +_ln : ln.o $(ULIB) + $(LD) -N -e main -Ttext 0 -o _ln ln.o $(ULIB) + $(OBJDUMP) -S _ln > ln.asm + _sh : sh.o $(ULIB) $(LD) -N -e main -Ttext 0 -o _sh sh.o $(ULIB) $(OBJDUMP) -S _sh > sh.asm @@ -116,7 +120,7 @@ _zombie: zombie.o $(ULIB) mkfs : mkfs.c fs.h cc -o mkfs mkfs.c -UPROGS=usertests _echo _cat _init _kill _ls _mkdir _rm _sh _zombie +UPROGS=usertests _echo _cat _init _kill _ln _ls _mkdir _rm _sh _zombie fs.img : mkfs README $(UPROGS) ./mkfs fs.img README $(UPROGS) diff --git a/ln.c b/ln.c @@ -0,0 +1,15 @@ +#include "types.h" +#include "stat.h" +#include "user.h" + +int +main(int argc, char *argv[]) +{ + if(argc != 3){ + printf(2, "Usage: ln old new\n"); + exit(); + } + if(link(argv[1], argv[2]) < 0) + printf(2, "link %s %s: failed\n", argv[1], argv[2]); + exit(); +}