From 9c23dfa5aa48c3ec94f643ce25a2b900ad0549c5 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Tue, 2 Jun 2020 21:14:22 +0100 Subject: libctf: add ctf_archive_count Another count that was otherwise unavailable without doing expensive operations. include/ * ctf-api.h (ctf_archive_count): New. libctf/ * ctf-archive.c (ctf_archive_count): New. * libctf.ver: New public function. --- libctf/ctf-archive.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libctf/ctf-archive.c') diff --git a/libctf/ctf-archive.c b/libctf/ctf-archive.c index 3c14d7d..42e9024 100644 --- a/libctf/ctf-archive.c +++ b/libctf/ctf-archive.c @@ -617,6 +617,16 @@ ctf_arc_open_by_offset (const struct ctf_archive *arc, return fp; } +/* Return the number of members in an archive. */ +size_t +ctf_archive_count (const ctf_archive_t *wrapper) +{ + if (!wrapper->ctfi_is_archive) + return 1; + + return wrapper->ctfi_archive->ctfa_nfiles; +} + /* Raw iteration over all CTF files in an archive. We pass the raw data for all CTF files in turn to the specified callback function. */ static int -- cgit v1.1