From: Andreas Steffen Date: Wed, 4 Sep 2013 19:30:28 +0000 (+0200) Subject: Count collected SWID tags or tag IDs X-Git-Tag: 5.1.1dr3~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd3eaaef9b0cc0d1bd74a987bcb95d3942b146bb;p=thirdparty%2Fstrongswan.git Count collected SWID tags or tag IDs --- diff --git a/src/libpts/swid/swid_inventory.c b/src/libpts/swid/swid_inventory.c index 642b656097..239ea9f92d 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,