summaryrefslogtreecommitdiffhomepage
path: root/auto/echo/echo.c
blob: 937483af879f2907a139bca5b87acd796446e300 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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;
}