interim commit of echo.c
This commit is contained in:
parent
298d40e4d3
commit
f189b31e80
76
src/echo.c
76
src/echo.c
|
@ -3,44 +3,44 @@
|
|||
#include <stdbool.h>
|
||||
|
||||
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;
|
||||
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 '\\':
|
||||
printf("\\");
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue