From 82053f5e3d4cedcbe6fc61ee1e5e39d0db8a0f8f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 30 Sep 2016 11:01:41 +0200 Subject: libsmartcols: add scols_column_add_width() Signed-off-by: Karel Zak --- libsmartcols/docs/libsmartcols-sections.txt | 1 + libsmartcols/src/column.c | 19 +++++++++++++++++++ libsmartcols/src/libsmartcols.h.in | 2 ++ libsmartcols/src/libsmartcols.sym | 1 + 4 files changed, 23 insertions(+) (limited to 'libsmartcols') diff --git a/libsmartcols/docs/libsmartcols-sections.txt b/libsmartcols/docs/libsmartcols-sections.txt index 0c6d23d46..ee696642a 100644 --- a/libsmartcols/docs/libsmartcols-sections.txt +++ b/libsmartcols/docs/libsmartcols-sections.txt @@ -24,6 +24,7 @@ scols_column_get_header scols_column_get_safechars scols_column_get_table scols_column_get_whint +scols_column_get_width scols_column_is_customwrap scols_column_is_hidden scols_column_is_noextremes diff --git a/libsmartcols/src/column.c b/libsmartcols/src/column.c index 6f74f76fb..1d3287960 100644 --- a/libsmartcols/src/column.c +++ b/libsmartcols/src/column.c @@ -396,6 +396,25 @@ const char *scols_column_get_safechars(const struct libscols_column *cl) return cl->safechars; } +/** + * scols_column_get_width: + * @cl: a pointer to a struct libscols_column instance + * + * Important note: the column width is unknown until library starts printing + * (width is calculated before printing). The function is usable for example in + * nextchunk() callback specified by scols_column_set_wrapfunc(). + * + * See also scols_column_get_whint(), it returns wanted size (!= final size). + * + * Returns: column width + * + * Since: 2.29 + */ +size_t scols_column_get_width(const struct libscols_column *cl) +{ + return cl->width; +} + /** * scols_column_is_hidden: * @cl: a pointer to a struct libscols_column instance diff --git a/libsmartcols/src/libsmartcols.h.in b/libsmartcols/src/libsmartcols.h.in index d7f1da6b1..4a00fed1b 100644 --- a/libsmartcols/src/libsmartcols.h.in +++ b/libsmartcols/src/libsmartcols.h.in @@ -147,6 +147,8 @@ extern int scols_column_is_noextremes(const struct libscols_column *cl); extern int scols_column_is_wrap(const struct libscols_column *cl); extern int scols_column_is_customwrap(const struct libscols_column *cl); +extern size_t scols_column_get_width(const struct libscols_column *cl); + extern int scols_column_set_safechars(struct libscols_column *cl, const char *safe); extern const char *scols_column_get_safechars(const struct libscols_column *cl); diff --git a/libsmartcols/src/libsmartcols.sym b/libsmartcols/src/libsmartcols.sym index 930a4f47d..2bf2b4ee4 100644 --- a/libsmartcols/src/libsmartcols.sym +++ b/libsmartcols/src/libsmartcols.sym @@ -140,6 +140,7 @@ SMARTCOLS_2.29 { global: scols_column_get_safechars; scols_column_get_table; + scols_column_get_width; scols_column_is_customwrap; scols_column_set_safechars; scols_column_set_wrapfunc; -- cgit v1.2.3-55-g7522