| #include <u.h> |
| #include <libc.h> |
| |
| void |
| main(int argc, char *argv[]) |
| { |
| int nflag; |
| int i, len; |
| char *buf, *p; |
| |
| nflag = 0; |
| if(argc > 1 && strcmp(argv[1], "-n") == 0) |
| nflag = 1; |
| |
| len = 1; |
| for(i = 1+nflag; i < argc; i++) |
| len += strlen(argv[i])+1; |
| |
| buf = malloc(len); |
| if(buf == 0) |
| exits("no memory"); |
| |
| p = buf; |
| for(i = 1+nflag; i < argc; i++){ |
| strcpy(p, argv[i]); |
| p += strlen(p); |
| if(i < argc-1) |
| *p++ = ' '; |
| } |
| |
| if(!nflag) |
| *p++ = '\n'; |
| |
| if(write(1, buf, p-buf) < 0) |
| fprint(2, "echo: write error: %r\n"); |
| |
| exits((char *)0); |
| } |