Reorganized the internal operations to make more sense

Also refactored lfs_dir_compact a bit, adding begin and end as arguments
since they simplify a bit of the logic and can be found out much easier
earlier in the commit logic.

Also changed add -> append and drop -> delete and cleaned up some of the
logic around there.
This commit is contained in:
Christopher Haster
2018-05-25 19:04:01 -05:00
parent 0695862b38
commit a3c67d9697
2 changed files with 798 additions and 626 deletions

1421
lfs.c

File diff suppressed because it is too large Load Diff

3
lfs.h
View File

@@ -113,7 +113,7 @@ enum lfs_type {
// internally used types
LFS_TYPE_NAME_ = 0x010,
LFS_TYPE_MOVE_ = 0x080,
LFS_TYPE_DROP_ = 0x090,
LFS_TYPE_DELETE_ = 0x090,
LFS_TYPE_SUPERBLOCK_ = 0x0a0,
LFS_TYPE_SOFTTAIL_ = 0x0c0,
@@ -367,6 +367,7 @@ typedef struct lfs_dir_ {
uint16_t count;
bool erased;
bool split;
int16_t moveid;
uint16_t id;
lfs_block_t head[2];