diff options
Diffstat (limited to 'libctf')
-rw-r--r-- | libctf/ChangeLog | 5 | ||||
-rw-r--r-- | libctf/ctf-archive.c | 10 | ||||
-rw-r--r-- | libctf/libctf.ver | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 7df7867..0be8280 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,5 +1,10 @@ 2020-07-22 Nick Alcock <nick.alcock@oracle.com> + * ctf-archive.c (ctf_archive_count): New. + * libctf.ver: New public function. + +2020-07-22 Nick Alcock <nick.alcock@oracle.com> + * ctf-types.c (ctf_member_count): New. * libctf.ver: New public function. 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 diff --git a/libctf/libctf.ver b/libctf/libctf.ver index 77b380c..375dee8 100644 --- a/libctf/libctf.ver +++ b/libctf/libctf.ver @@ -135,6 +135,7 @@ LIBCTF_1.0 { ctf_arc_close; ctf_arc_open_by_name; ctf_arc_open_by_name_sections; + ctf_archive_count; ctf_archive_iter; ctf_archive_raw_iter; ctf_get_arc; |