]> sourceware.org Git - lvm2.git/commit
report: select: add dm_report_field_string_list to libdm
authorPeter Rajnoha <prajnoha@redhat.com>
Thu, 29 May 2014 07:41:18 +0000 (09:41 +0200)
committerPeter Rajnoha <prajnoha@redhat.com>
Tue, 17 Jun 2014 14:27:20 +0000 (16:27 +0200)
commit76467bdcfd297ffbe2c088b6340ecc7d17d56742
treea311bfc147010da2200da7098df60fb5968fdc6f
parent5abdb52fdc66316d3e7d54085d4e79160024b95e
report: select: add dm_report_field_string_list to libdm

Add a separate dm_report_field_string_list fn to libdevmapper to
support reporting string lists. Before, the code used libdevmappers's
dm_report_field_string fn which required formatting the list to a
single string. This functionality is now moved to libdevmapper
and the code that needs to report the string list just needs
to pass the list itself and libdevmapper will take care of this.
This also enhances code reuse.

The dm_report_field_string_list also accepts an argument to define
custom delimiter to use. If not defined, a default "," (comma) is
used as item delimiter in the string list reported.

The dm_report_field_string_list automatically sorts the items in
the list before formatting it to a final string. It also encodes
the position and length within the final string where each element
can be found. This can be used to support checking against each
list item reported since since when formatted as a single string
for the actual report, we would lose this information otherwise
(we don't want to copy each item, the position and length within
the final string is enough for us to get the original items back).

When such lists are checked against the selection tree, we can check
each item individually this way and we can support operators like
"match any" and "match all".
libdm/libdevmapper.h
libdm/libdm-report.c
This page took 0.031687 seconds and 5 git commands to generate.