#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("write error");
       }

       exits((char *)0);
}