diff options
author | Karel Zak | 2016-01-12 11:39:03 +0100 |
---|---|---|
committer | Karel Zak | 2016-01-12 11:39:03 +0100 |
commit | 7837186515a642bfc7178e14508156bca89bad58 (patch) | |
tree | f993036ae1cc04deccdffbd7baa7e4307f8b3024 | |
parent | libfdisk: Add GPT type GUID for Itanium Linux root (diff) | |
download | kernel-qcow2-util-linux-7837186515a642bfc7178e14508156bca89bad58.tar.gz kernel-qcow2-util-linux-7837186515a642bfc7178e14508156bca89bad58.tar.xz kernel-qcow2-util-linux-7837186515a642bfc7178e14508156bca89bad58.zip |
libsmartcols: allow to set data by reference to libscols_column
References: https://github.com/karelzak/util-linux/issues/251
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | libsmartcols/docs/libsmartcols-sections.txt | 2 | ||||
-rw-r--r-- | libsmartcols/src/libsmartcols.h.in | 2 | ||||
-rw-r--r-- | libsmartcols/src/libsmartcols.sym | 2 | ||||
-rw-r--r-- | libsmartcols/src/line.c | 34 |
4 files changed, 40 insertions, 0 deletions
diff --git a/libsmartcols/docs/libsmartcols-sections.txt b/libsmartcols/docs/libsmartcols-sections.txt index 30fb30225..f2cb62b79 100644 --- a/libsmartcols/docs/libsmartcols-sections.txt +++ b/libsmartcols/docs/libsmartcols-sections.txt @@ -60,9 +60,11 @@ scols_line_get_parent scols_line_get_userdata scols_line_has_children scols_line_next_child +scols_line_refer_column_data scols_line_refer_data scols_line_remove_child scols_line_set_color +scols_line_set_column_data scols_line_set_data scols_line_set_userdata scols_new_line diff --git a/libsmartcols/src/libsmartcols.h.in b/libsmartcols/src/libsmartcols.h.in index 381a8eb9b..0331f3713 100644 --- a/libsmartcols/src/libsmartcols.h.in +++ b/libsmartcols/src/libsmartcols.h.in @@ -170,6 +170,8 @@ extern struct libscols_cell *scols_line_get_column_cell( struct libscols_column *cl); extern int scols_line_set_data(struct libscols_line *ln, size_t n, const char *data); extern int scols_line_refer_data(struct libscols_line *ln, size_t n, char *data); +extern int scols_line_set_column_data(struct libscols_line *ln, struct libscols_column *cl, const char *data); +extern int scols_line_refer_column_data(struct libscols_line *ln, struct libscols_column *cl, char *data); extern struct libscols_line *scols_copy_line(struct libscols_line *ln); /* table */ diff --git a/libsmartcols/src/libsmartcols.sym b/libsmartcols/src/libsmartcols.sym index e3176ba5b..9a060cf73 100644 --- a/libsmartcols/src/libsmartcols.sym +++ b/libsmartcols/src/libsmartcols.sym @@ -123,5 +123,7 @@ global: SMARTCOLS_2.28 { global: + scols_line_refer_column_data; + scols_line_set_column_data; scols_table_enable_nowrap; } SMARTCOLS_2.27; diff --git a/libsmartcols/src/line.c b/libsmartcols/src/line.c index 12826a961..b80ad675f 100644 --- a/libsmartcols/src/line.c +++ b/libsmartcols/src/line.c @@ -386,6 +386,23 @@ int scols_line_set_data(struct libscols_line *ln, size_t n, const char *data) } /** + * scols_line_set_column_data: + * @ln: a pointer to a struct libscols_cell instance + * @cl: column, whose data is to be set + * @data: actual data to set + * + * The same as scols_line_set_data() but cell is referenced by column object. + * + * Returns: 0, a negative value in case of an error. + */ +int scols_line_set_column_data(struct libscols_line *ln, + struct libscols_column *cl, + const char *data) +{ + return scols_line_set_data(ln, cl->seqnum, data); +} + +/** * scols_line_refer_data: * @ln: a pointer to a struct libscols_cell instance * @n: number of the cell which will refer to @data @@ -403,6 +420,23 @@ int scols_line_refer_data(struct libscols_line *ln, size_t n, char *data) } /** + * scols_line_refer_column_data: + * @ln: a pointer to a struct libscols_cell instance + * @cl: column, whose data is to be set + * @data: actual data to refer to + * + * The same as scols_line_refer_data() but cell is referenced by column object. + * + * Returns: 0, a negative value in case of an error. + */ +int scols_line_refer_column_data(struct libscols_line *ln, + struct libscols_column *cl, + char *data) +{ + return scols_line_refer_data(ln, cl->seqnum, data); +} + +/** * scols_copy_line: * @ln: a pointer to a struct libscols_cell instance * |