diff options
author | rsc <rsc> | 2007-08-08 08:39:07 +0000 |
---|---|---|
committer | rsc <rsc> | 2007-08-08 08:39:07 +0000 |
commit | f8f7fcbebdae7d3c8ac697373d0769d1ccfc31ae (patch) | |
tree | 4a646fc74d28e6fd5376737cdbd54995b35bbb1a /sh.c | |
parent | 349ee132f0c7060ad04c5667da24d8cb40654be8 (diff) | |
download | xv6-labs-f8f7fcbebdae7d3c8ac697373d0769d1ccfc31ae.tar.gz xv6-labs-f8f7fcbebdae7d3c8ac697373d0769d1ccfc31ae.tar.bz2 xv6-labs-f8f7fcbebdae7d3c8ac697373d0769d1ccfc31ae.zip |
handle EOF in shell
Diffstat (limited to 'sh.c')
-rw-r--r-- | sh.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -42,12 +42,15 @@ main(void) { while(1){ puts("$ "); - memset(buf, '\0', sizeof(buf)); - gets(buf, sizeof(buf)); + memset(buf, 0, sizeof buf); + gets(buf, sizeof buf); + if(buf[0] == 0) // EOF + break; if(parse(buf) < 0) continue; runcmd(); } + exit(); } int |