diff options
Diffstat (limited to 'src/TagArchive.cxx')
-rw-r--r-- | src/TagArchive.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/TagArchive.cxx b/src/TagArchive.cxx index 1da2d72f2..20a9c7a2e 100644 --- a/src/TagArchive.cxx +++ b/src/TagArchive.cxx @@ -20,6 +20,9 @@ #include "config.h" #include "TagArchive.hxx" #include "TagStream.hxx" +#include "tag/Generic.hxx" +#include "tag/TagHandler.hxx" +#include "tag/TagBuilder.hxx" #include "fs/Path.hxx" #include "util/Error.hxx" #include "input/InputStream.hxx" @@ -42,3 +45,15 @@ tag_archive_scan(Path path, const TagHandler &handler, void *handler_ctx) return tag_stream_scan(*is, handler, handler_ctx); } + +bool +tag_archive_scan(Path path, TagBuilder &builder) +{ + assert(!path.IsNull()); + + Mutex mutex; + Cond cond; + InputStreamPtr is(OpenArchiveInputStream(path, mutex, cond, + IgnoreError())); + return is && tag_stream_scan(*is, builder); +} |