diff options
author | Robert Morris <[email protected]> | 2019-06-11 09:57:14 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2019-06-11 09:57:14 -0400 |
commit | 5753553213df8f9de851adb68377db43faecb91f (patch) | |
tree | 3b629ff54897fca414146677532cb459a2ed11ba /wc.c | |
parent | 91ba81110acd3163f7de3580b677eece0c57f5e7 (diff) | |
download | xv6-labs-5753553213df8f9de851adb68377db43faecb91f.tar.gz xv6-labs-5753553213df8f9de851adb68377db43faecb91f.tar.bz2 xv6-labs-5753553213df8f9de851adb68377db43faecb91f.zip |
separate source into kernel/ user/ mkfs/
Diffstat (limited to 'wc.c')
-rw-r--r-- | wc.c | 54 |
1 files changed, 0 insertions, 54 deletions
@@ -1,54 +0,0 @@ -#include "types.h" -#include "stat.h" -#include "user.h" - -char buf[512]; - -void -wc(int fd, char *name) -{ - int i, n; - int l, w, c, inword; - - l = w = c = 0; - inword = 0; - while((n = read(fd, buf, sizeof(buf))) > 0){ - for(i=0; i<n; i++){ - c++; - if(buf[i] == '\n') - l++; - if(strchr(" \r\t\n\v", buf[i])) - inword = 0; - else if(!inword){ - w++; - inword = 1; - } - } - } - if(n < 0){ - printf(1, "wc: read error\n"); - exit(); - } - printf(1, "%d %d %d %s\n", l, w, c, name); -} - -int -main(int argc, char *argv[]) -{ - int fd, i; - - if(argc <= 1){ - wc(0, ""); - exit(); - } - - for(i = 1; i < argc; i++){ - if((fd = open(argv[i], 0)) < 0){ - printf(1, "wc: cannot open %s\n", argv[i]); - exit(); - } - wc(fd, argv[i]); - close(fd); - } - exit(); -} |