aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-09-15 18:11:47 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-09-15 21:48:47 +0200
commitdc28467db83432f19f004bb76f5e8515c71f8d0b (patch)
treec6c0557977a5e628d946e7e5aaad345281aa67c0 /include
parent69ac85c09dac74f9691b2ed340438e9648516c9f (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.h7
-rw-r--r--include/sqfs/meta_reader.h25
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