xv6

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

commit d49a2d53867b2b3a7d627be217c12b3a95676766
parent 56ac0d72fc2c6c3535e06f26140700b4dc096a00
Author: kaashoek <kaashoek>
Date:   Wed,  6 Sep 2006 01:25:41 +0000

nits

Diffstat:
MMakefile | 4++--
Msh.c | 21++++-----------------
Muser.h | 5++---
3 files changed, 8 insertions(+), 22 deletions(-)

diff --git a/Makefile b/Makefile @@ -128,8 +128,8 @@ rm : rm.o $(ULIB) mkfs : mkfs.c fs.h cc -o mkfs mkfs.c -fs.img : mkfs userfs usertests echo cat readme init sh ls mkdir rm fstests - ./mkfs fs.img userfs usertests echo cat readme init sh ls mkdir rm fstests +fs.img : mkfs userfs usertests echo cat README init sh ls mkdir rm fstests + ./mkfs fs.img userfs usertests echo cat README init sh ls mkdir rm fstests -include *.d diff --git a/sh.c b/sh.c @@ -162,37 +162,24 @@ ioredirection(void) for (i = 0; i < nextnode; i++) { switch (list[i].token) { case '<': + if (close(0) < 0) + printf(2, "close 0 failed\n"); if ((fd = open(list[i].s, O_RDONLY)) < 0) { printf(2, "failed to open %s for read: %d", list[i].s, fd); return -1; } - if (debug) printf(2, "redirect 0 from %s\n", list[i].s); - - close(0); - if ((dfd = dup(fd)) < 0) - printf(2, "dup failed\n"); - if (debug) - printf(2, "dup returns %d\n", dfd); - close(fd); break; case '>': + if (close(1) < 0) + printf(2, "close 1 failed\n"); if ((fd = open(list[i].s, O_WRONLY|O_CREATE)) < 0) { printf(2, "failed to open %s for write: %d", list[i].s, fd); exit(); } - if (debug) printf(2, "redirect 1 to %s\n", list[i].s); - - if (close(1) < 0) - printf(2, "close 1 failed\n"); - if ((dfd = dup(fd)) < 0) - printf(2, "dup failed\n"); - if (debug) - printf(2, "dup returns %d\n", dfd); - close(fd); break; } } diff --git a/user.h b/user.h @@ -1,14 +1,12 @@ +// system calls int fork(void); int exit(void) __attribute__((noreturn)); int wait(void); -int cons_putc(int); int pipe(int*); int write(int, void*, int); int read(int, void*, int); int close(int); int kill(int); -int panic(char*); -int cons_puts(char*); int exec(char *, char **); int open(char *, int); int mknod (char*,short,short,short); @@ -21,6 +19,7 @@ int dup(int); int getpid(); char *sbrk(int); +// ulib.c int stat(char *, struct stat *stat); int puts(char*); char* strcpy(char*, char*);