1*0Sigor@sysoev.ru 2*0Sigor@sysoev.ru /* 3*0Sigor@sysoev.ru * Copyright (C) Igor Sysoev 4*0Sigor@sysoev.ru * Copyright (C) NGINX, Inc. 5*0Sigor@sysoev.ru * 6*0Sigor@sysoev.ru * A portable "echo" program that supports "-n" option: 7*0Sigor@sysoev.ru * echo Hello world! 8*0Sigor@sysoev.ru * echo "Hello world!" 9*0Sigor@sysoev.ru * echo -n Hello world! 10*0Sigor@sysoev.ru * echo 11*0Sigor@sysoev.ru * 12*0Sigor@sysoev.ru * It also passes "\c" characters as is. 13*0Sigor@sysoev.ru */ 14*0Sigor@sysoev.ru 15*0Sigor@sysoev.ru 16*0Sigor@sysoev.ru #include <stdio.h> 17*0Sigor@sysoev.ru #include <string.h> 18*0Sigor@sysoev.ru 19*0Sigor@sysoev.ru 20*0Sigor@sysoev.ru int 21*0Sigor@sysoev.ru main(int argc, char *const *argv) 22*0Sigor@sysoev.ru { 23*0Sigor@sysoev.ru int i = 1; 24*0Sigor@sysoev.ru int nl = 1; 25*0Sigor@sysoev.ru 26*0Sigor@sysoev.ru if (argc > 1) { 27*0Sigor@sysoev.ru if (strcmp(argv[1], "-n") == 0) { 28*0Sigor@sysoev.ru nl = 0; 29*0Sigor@sysoev.ru i++; 30*0Sigor@sysoev.ru } 31*0Sigor@sysoev.ru 32*0Sigor@sysoev.ru while (i < argc) { 33*0Sigor@sysoev.ru printf("%s%s", argv[i], (i == argc - 1) ? "" : " "); 34*0Sigor@sysoev.ru i++; 35*0Sigor@sysoev.ru } 36*0Sigor@sysoev.ru } 37*0Sigor@sysoev.ru 38*0Sigor@sysoev.ru if (nl) { 39*0Sigor@sysoev.ru printf("\n"); 40*0Sigor@sysoev.ru } 41*0Sigor@sysoev.ru 42*0Sigor@sysoev.ru return 0; 43*0Sigor@sysoev.ru } 44