]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blobdiff - lib/ext2fs/dblist.c
Many files:
[thirdparty/e2fsprogs.git] / lib / ext2fs / dblist.c
index 72d58407eaf1030c1b5acf25662874ec07ec46b6..76c847ffe60c4eafe0a173b60dd27210c47bd45b 100644 (file)
@@ -127,6 +127,28 @@ errcode_t ext2fs_add_dir_block(ext2_dblist dblist, ino_t ino, blk_t blk,
        return 0;
 }
 
+/*
+ * Change the directory block to the directory block list
+ */
+errcode_t ext2fs_set_dir_block(ext2_dblist dblist, ino_t ino, blk_t blk,
+                              int blockcnt)
+{
+       struct ext2_db_entry    *ent;
+       int                     i;
+       
+       EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST);
+
+       for (i=0; i < dblist->count; i++) {
+               if ((dblist->list[i].ino != ino) ||
+                   (dblist->list[i].blockcnt != blockcnt))
+                       continue;
+               dblist->list[i].blk = blk;
+               dblist->sorted = 0;
+               return 0;
+       }
+       return ENOENT;
+}
+
 /*
  * This function iterates over the directory block list
  */
@@ -151,7 +173,6 @@ errcode_t ext2fs_dblist_iterate(ext2_dblist dblist,
                if (ret & DBLIST_ABORT)
                        return 0;
        }
-       
        return 0;
 }