new utilities.
the .C files compile but are renamed to avoid building automatically.
This commit is contained in:
parent
f08fdedcee
commit
bc7cb1a15a
45 changed files with 16585 additions and 0 deletions
36
src/cmd/cat.c
Normal file
36
src/cmd/cat.c
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
|
||||
void
|
||||
cat(int f, char *s)
|
||||
{
|
||||
char buf[8192];
|
||||
long n;
|
||||
|
||||
while((n=read(f, buf, (long)sizeof buf))>0)
|
||||
if(write(1, buf, n)!=n)
|
||||
sysfatal("write error copying %s: %r", s);
|
||||
if(n < 0)
|
||||
sysfatal("error reading %s: %r", s);
|
||||
}
|
||||
|
||||
void
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int f, i;
|
||||
|
||||
argv0 = "cat";
|
||||
if(argc == 1)
|
||||
cat(0, "<stdin>");
|
||||
else for(i=1; i<argc; i++){
|
||||
f = open(argv[i], OREAD);
|
||||
if(f < 0)
|
||||
sysfatal("can't open %s: %r", argv[i]);
|
||||
else{
|
||||
cat(f, argv[i]);
|
||||
close(f);
|
||||
}
|
||||
}
|
||||
exits(0);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue