From 9c2113928430e25a4cc7b68a94aca7d8388b3b60 Mon Sep 17 00:00:00 2001 From: Peter Rajnoha Date: Thu, 4 Aug 2016 09:42:33 +0200 Subject: [PATCH] libdm: report: add dm_report_destroy_rows Calling dm_report_destroy_rows makes it possible to destroy any report content we have but at the same time it doesn't destroy the report handle itself, thus it's possible to reuse that handle again for new report content. Functionally, this is the same as calling dm_report_output with the report handle but omitting the output iself. This functionality may be useful if we, for whatever reason, need to discard the report content and start a fresh new one but with the same report configuration and initialization and thus we can just reuse the existing handle. --- libdm/.exported_symbols.DM_1_02_133 | 1 + libdm/libdevmapper.h | 5 +++++ libdm/libdm-report.c | 5 +++++ 3 files changed, 11 insertions(+) create mode 100644 libdm/.exported_symbols.DM_1_02_133 diff --git a/libdm/.exported_symbols.DM_1_02_133 b/libdm/.exported_symbols.DM_1_02_133 new file mode 100644 index 000000000..4318f80b0 --- /dev/null +++ b/libdm/.exported_symbols.DM_1_02_133 @@ -0,0 +1 @@ +dm_report_destroy_rows diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h index 22700160a..844a45548 100644 --- a/libdm/libdevmapper.h +++ b/libdm/libdevmapper.h @@ -2907,6 +2907,11 @@ int dm_report_compact_given_fields(struct dm_report *rh, const char *fields); */ int dm_report_is_empty(struct dm_report *rh); +/* + * Destroy report content without doing output. + */ +void dm_report_destroy_rows(struct dm_report *rh); + int dm_report_output(struct dm_report *rh); /* diff --git a/libdm/libdm-report.c b/libdm/libdm-report.c index 02fead573..886d8a2aa 100644 --- a/libdm/libdm-report.c +++ b/libdm/libdm-report.c @@ -4790,6 +4790,11 @@ out: return r; } +void dm_report_destroy_rows(struct dm_report *rh) +{ + _destroy_rows(rh); +} + static int _report_group_create_single(struct dm_report_group *group) { return 1;