[evince/wip/hadess/faster-libarchive: 2/3] comics: Add helper to get the state of the EvArchive




commit b108ee06fbe9947ba94246fbb030e88b4bf9abe7
Author: Bastien Nocera <hadess hadess net>
Date:   Sat Feb 26 13:04:32 2022 +0100

    comics: Add helper to get the state of the EvArchive
    
    We need to know whether we have a file opened and we're at an entry to
    be able to fetch its metadata without throwing errors, so add a function
    for that.

 backend/comics/ev-archive.c | 9 +++++++++
 backend/comics/ev-archive.h | 1 +
 2 files changed, 10 insertions(+)
---
diff --git a/backend/comics/ev-archive.c b/backend/comics/ev-archive.c
index 0ee31a619..04516b833 100644
--- a/backend/comics/ev-archive.c
+++ b/backend/comics/ev-archive.c
@@ -231,6 +231,15 @@ ev_archive_read_next_header (EvArchive *archive,
        return FALSE;
 }
 
+gboolean
+ev_archive_at_entry (EvArchive *archive)
+{
+       g_return_val_if_fail (EV_IS_ARCHIVE (archive), FALSE);
+       g_return_val_if_fail (archive->type != EV_ARCHIVE_TYPE_NONE, FALSE);
+
+       return (archive->libar_entry != NULL);
+}
+
 const char *
 ev_archive_get_entry_pathname (EvArchive *archive)
 {
diff --git a/backend/comics/ev-archive.h b/backend/comics/ev-archive.h
index 0b84d82c8..c6af4fa49 100644
--- a/backend/comics/ev-archive.h
+++ b/backend/comics/ev-archive.h
@@ -44,6 +44,7 @@ gboolean       ev_archive_open_filename      (EvArchive     *archive,
                                              GError       **error);
 gboolean       ev_archive_read_next_header   (EvArchive     *archive,
                                              GError       **error);
+gboolean       ev_archive_at_entry           (EvArchive     *archive);
 const char    *ev_archive_get_entry_pathname (EvArchive     *archive);
 gint64         ev_archive_get_entry_size     (EvArchive     *archive);
 gboolean       ev_archive_get_entry_is_encrypted (EvArchive *archive);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]