1 #include <lib9.h>
2
3 void
main(int argc,char * argv[])4 main(int argc, char *argv[])
5 {
6 int nflag;
7 int i, len;
8 char *buf, *p;
9
10 nflag = 0;
11 if(argc > 1 && strcmp(argv[1], "-n") == 0)
12 nflag = 1;
13
14 len = 1;
15 for(i = 1+nflag; i < argc; i++)
16 len += strlen(argv[i])+1;
17
18 buf = malloc(len);
19 if(buf == 0)
20 exits("no memory");
21
22 p = buf;
23 for(i = 1+nflag; i < argc; i++)
24 p += sprint(p, i == argc-1 ? "%s":"%s ", argv[i]);
25
26 if(!nflag)
27 sprint(p, "\n");
28
29 if(write(1, buf, strlen(buf)) < 0)
30 fprint(2, "echo: write error: %r\n");
31
32 exits((char *)0);
33 }
34