table

Помоћни програм из командне линије за форматирање и приказ CSV-а
git clone https://git.sr.ht/~strahinja/table
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување c755daeb95db6d3b6e4256ef140affcfd092bf3b
родитељ 949744c62a98053c3855cfe511ca801f9f094906
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Mon,  1 Apr 2024 21:02:13 +0200

table.c: exit(3) instead of return-ing, to set an exit code

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Mtable.c | 50++++++++++++++++++++++++++------------------------
измењених датотека: 1, додавања: 26(+), брисања: 24(-)

diff --git a/table.c b/table.c @@ -652,19 +652,19 @@ do_arg: { arg += strlen("columns="); if (set_columns(arg, &rune_columns)) - return error(EINVAL, + exit(error(EINVAL, "Invalid argument: " "'%s'", - arg); + arg)); } else if (startswith(arg, "delimiter=")) { arg += strlen("delimiter="); if (set_delimiter((u8*)arg, &delimiter)) - return error(EINVAL, + exit(error(EINVAL, "Invalid argument: " "'%s'", - arg); + arg)); } else if (!strcmp(arg, "expand-tabs")) { @@ -695,27 +695,28 @@ do_arg: { arg += strlen("quotes="); if (set_quotes_behavior(arg, &quotes)) - return error(EINVAL, + exit(error(EINVAL, "Invalid argument: " "'%s'", - arg); + arg)); } else if (startswith(arg, "symbols=")) { arg += strlen("symbols="); if (set_symbol_set(arg, &current_symbol_set, &current_inner_symbol_set)) - return error(EINVAL, + exit(error(EINVAL, "Invalid argument: " "'%s'", - arg); + arg)); } else if (!strcmp(arg, "help")) return usage(); else { error(EINVAL, "Invalid argument: --%s", arg); - return usage(); + usage(); + exit(EINVAL); } } else @@ -769,7 +770,8 @@ do_arg: break; default: error(EINVAL, "Invalid argument: -%c", c); - return usage(); + usage(); + exit(EINVAL); } /* Gobble up the rest of the arg ("-d:" etc) */ if (*arg) @@ -782,39 +784,39 @@ do_arg: if (cmd == CMD_ALIGN) { if (set_align(arg, &align, &align_size)) - return error(EINVAL, "Invalid argument: '%s'", - arg); + exit(error(EINVAL, "Invalid argument: '%s'", + arg)); } else if (cmd == CMD_COLUMNS) { if (set_columns(arg, &rune_columns)) - return error(EINVAL, "Invalid argument: '%s'", - arg); + exit(error(EINVAL, "Invalid argument: '%s'", + arg)); } else if (cmd == CMD_DELIMITER) { if (set_delimiter((u8*)arg, &delimiter)) - return error(EINVAL, "Invalid argument: '%s'", - arg); + exit(error(EINVAL, "Invalid argument: '%s'", + arg)); } else if (cmd == CMD_FORMAT) { if (set_format(arg, &format, &format_size)) - return error(EINVAL, "Invalid argument: '%s'", - arg); + exit(error(EINVAL, "Invalid argument: '%s'", + arg)); } else if (cmd == CMD_QUOTES) { if (set_quotes_behavior(arg, &quotes)) - return error(EINVAL, "Invalid argument: '%s'", - arg); + exit(error(EINVAL, "Invalid argument: '%s'", + arg)); } else if (cmd == CMD_SYMBOLS) { if (set_symbol_set(arg, &current_symbol_set, &current_inner_symbol_set)) - return error(EINVAL, "Invalid argument: '%s'", - arg); + exit(error(EINVAL, "Invalid argument: '%s'", + arg)); } else if (filename) warning("Additional argument ignored: '%s'", arg); @@ -845,7 +847,7 @@ done_arg: #endif input = fopen(filename, "r"); if (!input) - return error(ENOENT, "File not found: %s", filename); + exit(error(ENOENT, "File not found: %s", filename)); } else input = stdin; @@ -1033,7 +1035,7 @@ do_line: if (in_quote) { printf("\n"); - return error(EINVAL, "Unmatched quote"); + exit(error(EINVAL, "Unmatched quote")); } else goto done_line;