From 81b5ee983a2d6abd5cbffb55fa174e9df666977f Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Thu, 19 Sep 2019 23:59:25 +0200 Subject: Remove defunct rdtree flags Signed-off-by: David Oberhollenzer --- include/highlevel.h | 5 ---- lib/sqfshelper/deserialize_fstree.c | 51 ++----------------------------------- 2 files changed, 2 insertions(+), 54 deletions(-) diff --git a/include/highlevel.h b/include/highlevel.h index a3d9117..0ace08e 100644 --- a/include/highlevel.h +++ b/include/highlevel.h @@ -35,11 +35,6 @@ typedef struct { } sqfs_reader_t; enum RDTREE_FLAGS { - RDTREE_NO_DEVICES = 0x01, - RDTREE_NO_SOCKETS = 0x02, - RDTREE_NO_FIFO = 0x04, - RDTREE_NO_SLINKS = 0x08, - RDTREE_NO_EMPTY = 0x10, RDTREE_READ_XATTR = 0x20, }; diff --git a/lib/sqfshelper/deserialize_fstree.c b/lib/sqfshelper/deserialize_fstree.c index e0f53e7..ee06103 100644 --- a/lib/sqfshelper/deserialize_fstree.c +++ b/lib/sqfshelper/deserialize_fstree.c @@ -15,27 +15,6 @@ #include #include -static int should_skip(int type, int flags) -{ - switch (type) { - case SQFS_INODE_BDEV: - case SQFS_INODE_CDEV: - case SQFS_INODE_EXT_CDEV: - case SQFS_INODE_EXT_BDEV: - return (flags & RDTREE_NO_DEVICES); - case SQFS_INODE_SLINK: - case SQFS_INODE_EXT_SLINK: - return (flags & RDTREE_NO_SLINKS); - case SQFS_INODE_SOCKET: - case SQFS_INODE_EXT_SOCKET: - return(flags & RDTREE_NO_SOCKETS); - case SQFS_INODE_FIFO: - case SQFS_INODE_EXT_FIFO: - return (flags & RDTREE_NO_FIFO); - } - return 0; -} - static int restore_xattr(sqfs_xattr_reader_t *xr, fstree_t *fs, tree_node_t *node, sqfs_inode_generic_t *inode) { @@ -99,7 +78,7 @@ static int fill_dir(sqfs_dir_reader_t *dr, { sqfs_inode_generic_t *inode; sqfs_dir_entry_t *ent; - tree_node_t *n, *prev; + tree_node_t *n; int err; for (;;) { @@ -109,11 +88,6 @@ static int fill_dir(sqfs_dir_reader_t *dr, if (err < 0) return -1; - if (should_skip(ent->type, flags)) { - free(ent); - continue; - } - if (!is_name_sane((const char *)ent->name)) { free(ent); continue; @@ -159,10 +133,7 @@ static int fill_dir(sqfs_dir_reader_t *dr, root->data.dir->children = n; } - n = root->data.dir->children; - prev = NULL; - - while (n != NULL) { + for (n = root->data.dir->children; n != NULL; n = n->next) { if (S_ISDIR(n->mode)) { err = sqfs_dir_reader_open_dir(dr, n->inode); if (err) @@ -170,28 +141,10 @@ static int fill_dir(sqfs_dir_reader_t *dr, if (fill_dir(dr, n, idtbl, fs, xr, flags)) return -1; - - if (n->data.dir->children == NULL && - (flags & RDTREE_NO_EMPTY)) { - free(n->inode); - if (prev == NULL) { - root->data.dir->children = n->next; - free(n); - n = root->data.dir->children; - } else { - prev->next = n->next; - free(n); - n = prev->next; - } - continue; - } } free(n->inode); n->inode = NULL; - - prev = n; - n = n->next; } return 0; -- cgit v1.2.3