From dc4eb3761d1e7999cf7c3d2ed13af734dc74c9b8 Mon Sep 17 00:00:00 2001 From: seleznevae Date: Sat, 1 Sep 2018 15:25:07 +0300 Subject: [PATCH] [C] Made table functions internal --- lib/fort.c | 65 ++++++++++++++++++++++++++++++++++++----------------- src/table.c | 32 +++++++++++++++++++++++--- src/table.h | 33 +++++++++++++-------------- 3 files changed, 88 insertions(+), 42 deletions(-) diff --git a/lib/fort.c b/lib/fort.c index 46977c8..3c36ae0 100644 --- a/lib/fort.c +++ b/lib/fort.c @@ -632,37 +632,34 @@ struct ft_table { vector_t *separators; }; -static FT_INLINE -separator_t *create_separator(int enabled) -{ - separator_t *res = (separator_t *)F_CALLOC(1, sizeof(separator_t)); - if (res == NULL) - return NULL; - res->enabled = enabled; - return res; -} - -static FT_INLINE -void destroy_separator(separator_t *sep) -{ - F_FREE(sep); -} - +FT_INTERNAL +separator_t *create_separator(int enabled); +FT_INTERNAL +void destroy_separator(separator_t *sep); +FT_INTERNAL fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *cols); -fort_row_t *get_row_implementation(ft_table_t *table, size_t row, enum PolicyOnNull policy); + +FT_INTERNAL fort_row_t *get_row(ft_table_t *table, size_t row); + +FT_INTERNAL const fort_row_t *get_row_c(const ft_table_t *table, size_t row); + +FT_INTERNAL fort_row_t *get_row_and_create_if_not_exists(ft_table_t *table, size_t row); +FT_INTERNAL string_buffer_t *get_cur_str_buffer_and_create_if_not_exists(ft_table_t *table); - +FT_INTERNAL fort_status_t table_rows_and_cols_geometry(const ft_table_t *table, size_t **col_width_arr_p, size_t *col_width_arr_sz, size_t **row_height_arr_p, size_t *row_height_arr_sz); + +FT_INTERNAL fort_status_t table_geometry(const ft_table_t *table, size_t *height, size_t *width); #endif /* TABLE_H */ @@ -1328,10 +1325,26 @@ void destroy_table_options(fort_table_options_t *options) /* #include "cell.h" */ /* Commented by amalgamation script */ /* #include "vector.h" */ /* Commented by amalgamation script */ /* #include "row.h" */ /* Commented by amalgamation script */ -fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *cols); + +FT_INTERNAL +separator_t *create_separator(int enabled) +{ + separator_t *res = (separator_t *)F_CALLOC(1, sizeof(separator_t)); + if (res == NULL) + return NULL; + res->enabled = enabled; + return res; +} +FT_INTERNAL +void destroy_separator(separator_t *sep) +{ + F_FREE(sep); +} + +static fort_row_t *get_row_implementation(ft_table_t *table, size_t row, enum PolicyOnNull policy) { if (table == NULL || table->rows == NULL) { @@ -1361,24 +1374,29 @@ fort_row_t *get_row_implementation(ft_table_t *table, size_t row, enum PolicyOnN return NULL; } + +FT_INTERNAL fort_row_t *get_row(ft_table_t *table, size_t row) { return get_row_implementation(table, row, DoNotCreate); } + +FT_INTERNAL const fort_row_t *get_row_c(const ft_table_t *table, size_t row) { return get_row((ft_table_t *)table, row); } + +FT_INTERNAL fort_row_t *get_row_and_create_if_not_exists(ft_table_t *table, size_t row) { return get_row_implementation(table, row, Create); } - - +FT_INTERNAL string_buffer_t *get_cur_str_buffer_and_create_if_not_exists(ft_table_t *table) { assert(table); @@ -1397,6 +1415,7 @@ string_buffer_t *get_cur_str_buffer_and_create_if_not_exists(ft_table_t *table) /* * Returns number of cells (rows * cols) */ +FT_INTERNAL fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *cols) { *rows = 0; @@ -1413,6 +1432,8 @@ fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *col return FT_SUCCESS; } + +FT_INTERNAL fort_status_t table_rows_and_cols_geometry(const ft_table_t *table, size_t **col_width_arr_p, size_t *col_width_arr_sz, size_t **row_height_arr_p, size_t *row_height_arr_sz) @@ -1519,9 +1540,11 @@ fort_status_t table_rows_and_cols_geometry(const ft_table_t *table, return FT_SUCCESS; } + /* * Returns geometry in characters */ +FT_INTERNAL fort_status_t table_geometry(const ft_table_t *table, size_t *height, size_t *width) { if (table == NULL) diff --git a/src/table.c b/src/table.c index 2c31a5f..f06d15f 100644 --- a/src/table.c +++ b/src/table.c @@ -3,10 +3,26 @@ #include "cell.h" #include "vector.h" #include "row.h" -fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *cols); + +FT_INTERNAL +separator_t *create_separator(int enabled) +{ + separator_t *res = (separator_t *)F_CALLOC(1, sizeof(separator_t)); + if (res == NULL) + return NULL; + res->enabled = enabled; + return res; +} +FT_INTERNAL +void destroy_separator(separator_t *sep) +{ + F_FREE(sep); +} + +static fort_row_t *get_row_implementation(ft_table_t *table, size_t row, enum PolicyOnNull policy) { if (table == NULL || table->rows == NULL) { @@ -36,24 +52,29 @@ fort_row_t *get_row_implementation(ft_table_t *table, size_t row, enum PolicyOnN return NULL; } + +FT_INTERNAL fort_row_t *get_row(ft_table_t *table, size_t row) { return get_row_implementation(table, row, DoNotCreate); } + +FT_INTERNAL const fort_row_t *get_row_c(const ft_table_t *table, size_t row) { return get_row((ft_table_t *)table, row); } + +FT_INTERNAL fort_row_t *get_row_and_create_if_not_exists(ft_table_t *table, size_t row) { return get_row_implementation(table, row, Create); } - - +FT_INTERNAL string_buffer_t *get_cur_str_buffer_and_create_if_not_exists(ft_table_t *table) { assert(table); @@ -72,6 +93,7 @@ string_buffer_t *get_cur_str_buffer_and_create_if_not_exists(ft_table_t *table) /* * Returns number of cells (rows * cols) */ +FT_INTERNAL fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *cols) { *rows = 0; @@ -88,6 +110,8 @@ fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *col return FT_SUCCESS; } + +FT_INTERNAL fort_status_t table_rows_and_cols_geometry(const ft_table_t *table, size_t **col_width_arr_p, size_t *col_width_arr_sz, size_t **row_height_arr_p, size_t *row_height_arr_sz) @@ -194,9 +218,11 @@ fort_status_t table_rows_and_cols_geometry(const ft_table_t *table, return FT_SUCCESS; } + /* * Returns geometry in characters */ +FT_INTERNAL fort_status_t table_geometry(const ft_table_t *table, size_t *height, size_t *width) { if (table == NULL) diff --git a/src/table.h b/src/table.h index 52d9e4e..7c5ba43 100644 --- a/src/table.h +++ b/src/table.h @@ -12,37 +12,34 @@ struct ft_table { vector_t *separators; }; -static FT_INLINE -separator_t *create_separator(int enabled) -{ - separator_t *res = (separator_t *)F_CALLOC(1, sizeof(separator_t)); - if (res == NULL) - return NULL; - res->enabled = enabled; - return res; -} - -static FT_INLINE -void destroy_separator(separator_t *sep) -{ - F_FREE(sep); -} - +FT_INTERNAL +separator_t *create_separator(int enabled); +FT_INTERNAL +void destroy_separator(separator_t *sep); +FT_INTERNAL fort_status_t get_table_sizes(const ft_table_t *table, size_t *rows, size_t *cols); -fort_row_t *get_row_implementation(ft_table_t *table, size_t row, enum PolicyOnNull policy); + +FT_INTERNAL fort_row_t *get_row(ft_table_t *table, size_t row); + +FT_INTERNAL const fort_row_t *get_row_c(const ft_table_t *table, size_t row); + +FT_INTERNAL fort_row_t *get_row_and_create_if_not_exists(ft_table_t *table, size_t row); +FT_INTERNAL string_buffer_t *get_cur_str_buffer_and_create_if_not_exists(ft_table_t *table); - +FT_INTERNAL fort_status_t table_rows_and_cols_geometry(const ft_table_t *table, size_t **col_width_arr_p, size_t *col_width_arr_sz, size_t **row_height_arr_p, size_t *row_height_arr_sz); + +FT_INTERNAL fort_status_t table_geometry(const ft_table_t *table, size_t *height, size_t *width); #endif /* TABLE_H */