Count collected SWID tags or tag IDs
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user