aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libpts/swid/swid_inventory.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/libpts/swid/swid_inventory.c b/src/libpts/swid/swid_inventory.c
index 642b65609..239ea9f92 100644
--- a/src/libpts/swid/swid_inventory.c
+++ b/src/libpts/swid/swid_inventory.c
@@ -54,7 +54,8 @@ struct private_swid_inventory_t {
linked_list_t *list;
};
-static bool collect_tags(private_swid_inventory_t *this, char *pathname)
+static bool collect_tags(private_swid_inventory_t *this, char *pathname,
+ int *tag_count)
{
char *rel_name, *abs_name;
struct stat st;
@@ -82,7 +83,7 @@ static bool collect_tags(private_swid_inventory_t *this, char *pathname)
}
if (S_ISDIR(st.st_mode))
{
- if (!collect_tags(this, abs_name))
+ if (!collect_tags(this, abs_name, tag_count))
{
goto end;
}
@@ -167,6 +168,8 @@ static bool collect_tags(private_swid_inventory_t *this, char *pathname)
tag_id = swid_tag_id_create(tag_creator, unique_sw_id, unique_seq_id);
this->list->insert_last(this->list, tag_id);
}
+ (*tag_count)++;
+
}
success = TRUE;
@@ -180,7 +183,18 @@ end:
METHOD(swid_inventory_t, collect, bool,
private_swid_inventory_t *this)
{
- return collect_tags(this, SWID_TAG_DIRECTORY);
+ int tag_count = 0;
+
+ if (collect_tags(this, SWID_TAG_DIRECTORY, &tag_count))
+ {
+ DBG1(DBG_IMC, "collected %d SWID tag%s%s", tag_count,
+ this->full_tags ? "" : " ID", (tag_count == 1) ? "" : "s");
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
}
METHOD(swid_inventory_t, add, void,