From abcd7aeb99ebd98cc8399030ff751bfef84ad97e Mon Sep 17 00:00:00 2001 From: seleznevae Date: Sun, 25 Mar 2018 14:19:35 +0300 Subject: [PATCH] [A] Added more checks --- example/main.c | 2 +- src/row.c | 24 ++++++++++++------------ tests/test_table_options.c | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/example/main.c b/example/main.c index 6e9646d..6029705 100644 --- a/example/main.c +++ b/example/main.c @@ -160,7 +160,7 @@ int main() FT_NWWRITE_LN(table, L"4", L"Бегущий по лезвию", L"1982", L"8.1"); /* Ранг | Название | Год | Рейтинг */ - /*FT_NWWRITE_LN(table, L"\x420\x430\x43d\x433", L"\x41d\x430\x437\x432\x430\x43d\x438\x435", L"\x413\x43e\x434", L"\x420\x435\x439\x442\x438\x43d\x433"); + /*FT_NWWRITE_LN(table, L"\x420\x430\x43d\x433", L"\x41d\x430\x437\x432\x430\x43d\x438\x435", L"\x413\x43e\x434", L"\x420\x435\x439\x442\x438\x43d\x433"); */ /*FT_NWWRITE_LN(table, L"1", L"\x41f\x43e\x431\x435\x433 \x438\x437 \x428\x43e\x443\x448\x435\x43d\x43a\x430", L"1994", L"9.5");*/ /* Побег из Шоушенка */ /*FT_NWWRITE_LN(table, L"2", L"12 \x440\x430\x437\x433\x43d\x435\x432\x430\x43d\x43d\x44b\x445 \x43c\x443\x436\x447\x438\x43d", L"1957", L"8.8");*/ /* 12 разгневанных мужчин */ diff --git a/src/row.c b/src/row.c index 9328e44..e7c9439 100644 --- a/src/row.c +++ b/src/row.c @@ -516,27 +516,27 @@ int snprintf_row(const fort_row_t *row, char *buffer, size_t buf_sz, size_t *col /* Print left margin */ CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, context->table_options->entire_table_options.left_margin, space_char)); - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*L); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*L)); size_t j = 0; for (j = 0; j < col_width_arr_sz; ++j) { ((context_t *)context)->column = j; if (j < cols_in_row) { fort_cell_t *cell = *(fort_cell_t**)vector_at(row->cells, j); - dev += cell_printf_(cell, i, j, buffer + dev, col_width_arr[j] + 1, context); + CHECK_RESULT_AND_MOVE_DEV(cell_printf_(cell, i, j, buffer + dev, col_width_arr[j] + 1, context)); } else { - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, col_width_arr[j], space_char); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, col_width_arr[j], space_char)); } if (j == col_width_arr_sz - 1) { - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*R); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*R)); } else { - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*IV); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*IV)); } } /* Print right margin */ CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, context->table_options->entire_table_options.right_margin, space_char)); - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, new_line_char); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, new_line_char)); } return dev; @@ -594,27 +594,27 @@ int wsnprintf_row(const fort_row_t *row, wchar_t *buffer, size_t buf_sz, size_t /* Print left margin */ CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, context->table_options->entire_table_options.left_margin, space_char)); - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*L); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*L)); size_t j = 0; for (j = 0; j < col_width_arr_sz; ++j) { ((context_t *)context)->column = j; if (j < cols_in_row) { fort_cell_t *cell = *(fort_cell_t**)vector_at(row->cells, j); - dev += cell_printf_(cell, i, j, buffer + dev, col_width_arr[j] + 1, context); + CHECK_RESULT_AND_MOVE_DEV(cell_printf_(cell, i, j, buffer + dev, col_width_arr[j] + 1, context)); } else { - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, col_width_arr[j], space_char); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, col_width_arr[j], space_char)); } if (j == col_width_arr_sz - 1) { - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*R); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*R)); } else { - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*IV); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, (char_type)*IV)); } } /* Print right margin */ CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, context->table_options->entire_table_options.right_margin, space_char)); - dev += snprint_n_chars_(buffer + dev, buf_sz - dev, 1, new_line_char); + CHECK_RESULT_AND_MOVE_DEV(snprint_n_chars_(buffer + dev, buf_sz - dev, 1, new_line_char)); } return dev; diff --git a/tests/test_table_options.c b/tests/test_table_options.c index 2a921f0..a573cd6 100644 --- a/tests/test_table_options.c +++ b/tests/test_table_options.c @@ -70,7 +70,7 @@ void test_table_tbl_options(void) } - WHEN("Test setting entire table options") { + WHEN("Test setting entire table options(wide strings case)") { set_test_options_as_default(); table = create_test_int_wtable(0);