You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
systemd/SOURCES/0133-format-table-add-calls...

55 lines
1.6 KiB

From c4f60df10a2716c94d30462a118f60d916d537a2 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Fri, 9 Nov 2018 11:38:12 +0100
Subject: [PATCH] format-table: add calls to query the data in a specific cell
(cherry picked from commit 62d99b39709f903f8a66a9aae757deb5546a53eb)
Related: #1689832
---
src/basic/format-table.c | 22 ++++++++++++++++++++++
src/basic/format-table.h | 3 +++
2 files changed, 25 insertions(+)
diff --git a/src/basic/format-table.c b/src/basic/format-table.c
index 3fcb97475c..0a1777e9a2 100644
--- a/src/basic/format-table.c
+++ b/src/basic/format-table.c
@@ -1438,3 +1438,25 @@ TableCell *table_get_cell(Table *t, size_t row, size_t column) {
return TABLE_INDEX_TO_CELL(i);
}
+
+const void *table_get(Table *t, TableCell *cell) {
+ TableData *d;
+
+ assert(t);
+
+ d = table_get_data(t, cell);
+ if (!d)
+ return NULL;
+
+ return d->data;
+}
+
+const void* table_get_at(Table *t, size_t row, size_t column) {
+ TableCell *cell;
+
+ cell = table_get_cell(t, row, column);
+ if (!cell)
+ return NULL;
+
+ return table_get(t, cell);
+}
diff --git a/src/basic/format-table.h b/src/basic/format-table.h
index 40fea79f78..a2bb2e0846 100644
--- a/src/basic/format-table.h
+++ b/src/basic/format-table.h
@@ -68,3 +68,6 @@ size_t table_get_rows(Table *t);
size_t table_get_columns(Table *t);
TableCell *table_get_cell(Table *t, size_t row, size_t column);
+
+const void *table_get(Table *t, TableCell *cell);
+const void *table_get_at(Table *t, size_t row, size_t column);