]> Devi Nivas Git - cs3210-lab0.git/commitdiff
add ln
authorrsc <rsc>
Wed, 22 Aug 2007 05:54:55 +0000 (05:54 +0000)
committerrsc <rsc>
Wed, 22 Aug 2007 05:54:55 +0000 (05:54 +0000)
Makefile
ln.c [new file with mode: 0644]

index ac696dd47beebf541d4a4f4bb9d96faa6bdb34c2..e12ddf1aec0ccc04a020458599f0ec380d72ca5a 100644 (file)
--- 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
new file mode 100644 (file)
index 0000000..cf8a64e
--- /dev/null
+++ 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();
+}