diff options
author | Igor Sysoev <igor@sysoev.ru> | 2017-01-17 20:00:00 +0300 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2017-01-17 20:00:00 +0300 |
commit | 16cbf3c076a0aca6d47adaf3f719493674cf2363 (patch) | |
tree | e6530480020f62a2bdbf249988ec3e2a751d3927 /auto/echo/echo.c | |
download | unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.gz unit-16cbf3c076a0aca6d47adaf3f719493674cf2363.tar.bz2 |
Initial version.
Diffstat (limited to 'auto/echo/echo.c')
-rw-r--r-- | auto/echo/echo.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/auto/echo/echo.c b/auto/echo/echo.c new file mode 100644 index 00000000..937483af --- /dev/null +++ b/auto/echo/echo.c @@ -0,0 +1,43 @@ + +/* + * Copyright (C) Igor Sysoev + * Copyright (C) NGINX, Inc. + * + * A portable "echo" program that supports "-n" option: + * echo Hello world! + * echo "Hello world!" + * echo -n Hello world! + * echo + * + * It also passes "\c" characters as is. + */ + + +#include <stdio.h> +#include <string.h> + + +int +main(int argc, char *const *argv) +{ + int i = 1; + int nl = 1; + + if (argc > 1) { + if (strcmp(argv[1], "-n") == 0) { + nl = 0; + i++; + } + + while (i < argc) { + printf("%s%s", argv[i], (i == argc - 1) ? "" : " "); + i++; + } + } + + if (nl) { + printf("\n"); + } + + return 0; +} |