diff --git a/src/echo.c b/src/echo.c index 2b209fa..9e1afd9 100644 --- a/src/echo.c +++ b/src/echo.c @@ -3,63 +3,63 @@ #include int main(int argc, char *argv[]) { - bool newline = true; // Enables newline in the end (to disable use arg -n) - bool escapes = false; // Enables backslash-escaped characters (to enable use arg -e) - for (int i = 1; i < argc; i++) { - if (!strcmp(argv[i], "-n")) { - newline = false; - } else if (!strcmp(argv[i], "-e")) { - escapes = true; - } else if (!strcmp(argv[i], "-E")) { - escapes = false; - } else { - if (escapes) { - for (size_t j = 0; j < strlen(argv[i]); j++) { - if (argv[i][j] == '\\') { - j++; - switch(argv[i][j]) { - case 'b': - printf("\b"); - break; - case 'c': - return 0; - case 'e': - printf("\e"); - break; - case 'f': - printf("\f"); - break; - case 'n': - printf("\n"); - break; - case 'r': - printf("\r"); - break; - case 't': - printf("\t"); - break; - case 'v': - printf("\v"); - break; - case '\\': - printf("\\"); - break; - default: - printf("\\%c", argv[i][j]); - } - } else { - printf("%c", argv[i][j]); - } - } - } else { - printf("%s", argv[i]); - } - if (i < argc - 1) - printf(" "); - } - } - if (newline) { - printf("\n"); - } - return 0; + bool newline = true; // Enables newline in the end (to disable use arg -n) + bool escapes = false; // Enables backslash-escaped characters (to enable use arg -e) + for (int i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-n")) { + newline = false; + } else if (!strcmp(argv[i], "-e")) { + escapes = true; + } else if (!strcmp(argv[i], "-E")) { + escapes = false; + } else { + if (escapes) { + for (size_t j = 0; j < strlen(argv[i]); j++) { + if (argv[i][j] == '\\') { + j++; + switch(argv[i][j]) { + case 'b': + putchar('\b'); + break; + case 'c': + return 0; + case 'e': + putchar('\e'); + break; + case 'f': + putchar('\f'); + break; + case 'n': + putchar('\n'); + break; + case 'r': + putchar('\r'); + break; + case 't': + putchar('\t'); + break; + case 'v': + putchar('\v'); + break; + case '\\': + putchar("\\"); + break; + default: + printf("\\%c", argv[i][j]); + } + } else { + printf("%c", argv[i][j]); + } + } + } else { + printf("%s", argv[i]); + } + if (i < argc - 1) + putchar(' '); + } + } + if (newline) { + putchar('\n'); + } + return 0; }