Blob
1 #include <u.h>2 #include <libc.h>4 void5 main(int argc, char *argv[])6 {7 int nflag;8 int i, len;9 char *buf, *p;11 nflag = 0;12 if(argc > 1 && strcmp(argv[1], "-n") == 0)13 nflag = 1;15 len = 1;16 for(i = 1+nflag; i < argc; i++)17 len += strlen(argv[i])+1;19 buf = malloc(len);20 if(buf == 0)21 exits("no memory");23 p = buf;24 for(i = 1+nflag; i < argc; i++){25 strcpy(p, argv[i]);26 p += strlen(p);27 if(i < argc-1)28 *p++ = ' ';29 }31 if(!nflag)32 *p++ = '\n';34 if(write(1, buf, p-buf) < 0)35 fprint(2, "echo: write error: %r\n");37 exits((char *)0);38 }