diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-09-15 18:11:47 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-09-15 21:48:47 +0200 |
commit | dc28467db83432f19f004bb76f5e8515c71f8d0b (patch) | |
tree | c6c0557977a5e628d946e7e5aaad345281aa67c0 /include | |
parent | 69ac85c09dac74f9691b2ed340438e9648516c9f (diff) |
libsqfs: Cleanup readdir state struct
There is no need to keep a copy of the state data internally. If the
external user wants to reset/rewind, they can simply keep a copy of
the old state, now that it is completely transparent.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include')
-rw-r--r-- | include/sqfs/dir_reader.h | 7 | ||||
-rw-r--r-- | include/sqfs/meta_reader.h | 25 |
2 files changed, 5 insertions, 27 deletions
diff --git a/include/sqfs/dir_reader.h b/include/sqfs/dir_reader.h index 1c95e30..11f7ae0 100644 --- a/include/sqfs/dir_reader.h +++ b/include/sqfs/dir_reader.h @@ -128,7 +128,7 @@ struct sqfs_dir_reader_state_t { * the @ref SQFS_DIR_READER_DOT_ENTRIES flag and the behavior was * not disabled when opening the directory. */ - sqfs_u64 cur_ref; + sqfs_u64 dir_ref; /** * @brief A reference to the current entries inode @@ -142,11 +142,6 @@ struct sqfs_dir_reader_state_t { * @brief An opaque, internal state value */ sqfs_u8 state; - - /** - * @brief A backup of `state` to reset the state if requested - */ - sqfs_u8 start_state; }; #ifdef __cplusplus diff --git a/include/sqfs/meta_reader.h b/include/sqfs/meta_reader.h index 9563b82..8e94acd 100644 --- a/include/sqfs/meta_reader.h +++ b/include/sqfs/meta_reader.h @@ -54,31 +54,14 @@ * @brief Encapsulates state for simple directory reading */ struct sqfs_readdir_state_t { - struct { - sqfs_u64 block; - size_t offset; - size_t size; - } init, current; - + sqfs_u64 inode_block; + sqfs_u64 block; + size_t offset; + size_t size; size_t entries; - sqfs_u32 inum_base; - sqfs_u64 inode_block; }; -/** - * @brief Rewind a directory state object back to its starting location - * - * @memberof sqfs_readdir_state_t - * - * @param it A pointer to the directory state. - */ -static SQFS_INLINE void sqfs_readdir_state_reset(sqfs_readdir_state_t *s) -{ - s->current = s->init; - s->entries = 0; -} - #ifdef __cplusplus extern "C" { #endif |