чување bf11072a011350ec55d244bee7fd3946af474794
родитељ 017dc15c6d2584d60f82e261df47bcd8e241da47
Аутор: Страхиња Радић <sr@strahinja.org>
Датум: Fri, 13 Mar 2026 08:19:05 +0100
table.c: Bugfix: correctly parse arguments separated from options by whitespace
Diffstat:
измењених датотека: 1, додавања: 11(+), брисања: 9(-)
diff --git a/table.c b/table.c
@@ -773,13 +773,8 @@ do_arg:
/* Gobble up the rest of the arg ("-d:" etc) */
if (*arg)
goto continue_current_arg;
- else if (cmd == CMD_COLUMNS || cmd == CMD_DELIMITER
- || cmd == CMD_FORMAT || cmd == CMD_SYMBOLS
- || cmd == CMD_QUOTES)
- {
- error_code = ERR_NO_CL_ARG_PARAM;
- goto main_done;
- }
+ else
+ goto do_arg;
}
}
else
@@ -825,7 +820,14 @@ do_arg:
goto do_arg;
done_arg:
- if (cmd == CMD_FULL_VERSION)
+ if (cmd == CMD_COLUMNS || cmd == CMD_DELIMITER
+ || cmd == CMD_FORMAT || cmd == CMD_SYMBOLS
+ || cmd == CMD_QUOTES)
+ {
+ error_code = ERR_NO_CL_ARG_PARAM;
+ goto main_done;
+ }
+ else if (cmd == CMD_FULL_VERSION)
return version(1);
else if (cmd == CMD_VERSION)
return version(0);
@@ -930,7 +932,7 @@ do_input:
warning("Columns adjusted to %u", table_columns + 2);
rune_columns = table_columns + 2;
}
- assert(rune_columns >= table_columns + 2);
+ assert(rune_columns >= (ssize_t)table_columns + 2);
if (format && !border_mode)
{