diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2020-06-02 21:14:22 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2020-07-22 17:57:39 +0100 |
commit | 9c23dfa5aa48c3ec94f643ce25a2b900ad0549c5 (patch) | |
tree | f6cdbe6d88b5300cf4026d5ea667fb8af9f44e2a /libctf | |
parent | e0325e2cede6f9da2560ede6d4a17d9e21fbea9c (diff) | |
download | fsf-binutils-gdb-9c23dfa5aa48c3ec94f643ce25a2b900ad0549c5.zip fsf-binutils-gdb-9c23dfa5aa48c3ec94f643ce25a2b900ad0549c5.tar.gz fsf-binutils-gdb-9c23dfa5aa48c3ec94f643ce25a2b900ad0549c5.tar.bz2 |
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.
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; |