Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include <bio.h>
4
 
5
void
6
cat(int f, char *s)
7
{
8
	Biobuf b;
9
	char *p;
10
 
11
	Binit(&b, f, OREAD);
12
	while((p = Brdline(&b, '\n')) != nil)
13
		if(write(1, p, Blinelen(&b)) != Blinelen(&b))
14
			sysfatal("write error copying %s: %r", s);
15
	Bterm(&b);
16
}
17
 
18
void
19
main(int argc, char *argv[])
20
{
21
	int f, i;
22
 
23
	argv0 = "lines";
24
	if(argc == 1)
25
		cat(0, "<stdin>");
26
	else for(i=1; i<argc; i++){
27
		f = open(argv[i], OREAD);
28
		if(f < 0)
29
			sysfatal("can't open %s: %r", argv[i]);
30
		else{
31
			cat(f, argv[i]);
32
			close(f);
33
		}
34
	}
35
	exits(0);
36
}
37