diff --git a/lfs.c b/lfs.c index 12c903f..627b9d8 100644 --- a/lfs.c +++ b/lfs.c @@ -1272,6 +1272,7 @@ int lfs_mkdir(lfs_t *lfs, const char *path) { cwd.d.tail[0] = dir.pair[0]; cwd.d.tail[1] = dir.pair[1]; + lfs_entry_tole32(&entry.d); err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){ {LFS_FROM_MEM, 0, 0, &entry.d, sizeof(entry.d)}, {LFS_FROM_MEM, 0, 0, path, nlen}}, 2); @@ -1893,8 +1894,7 @@ int lfs_file_sync(lfs_t *lfs, lfs_file_t *file) { } lfs_entry_t entry = {.off = file->pairoff}; - err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, sizeof(entry.d)); - lfs_entry_fromle32(&entry.d); + err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, 4); if (err) { return err; } @@ -1912,6 +1912,7 @@ int lfs_file_sync(lfs_t *lfs, lfs_file_t *file) { entry.d.u.file.head = file->head; entry.d.u.file.size = file->size; + lfs_entry_tole32(&entry.d); buffer = (const uint8_t *)&entry.d + 4; size = sizeof(entry.d) - 4; } else { @@ -2249,7 +2250,7 @@ int lfs_file_getattrs(lfs_t *lfs, lfs_file_t *file, } lfs_entry_t entry = {.off = file->pairoff}; - err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, sizeof(entry.d)); + err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, 4); if (err) { return err; } @@ -2293,7 +2294,7 @@ int lfs_file_setattrs(lfs_t *lfs, lfs_file_t *file, } lfs_entry_t entry = {.off = file->pairoff}; - err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, sizeof(entry.d)); + err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, 4); if (err) { return err; } @@ -2740,7 +2741,7 @@ int lfs_mount(lfs_t *lfs, const struct lfs_config *cfg) { } lfs_entry_t entry = {.off = sizeof(dir.d)}; - err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, sizeof(entry.d)); + err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, 4); if (err) { return err; } @@ -3005,6 +3006,7 @@ static int lfs_relocate(lfs_t *lfs, // update disk, this creates a desync entry.d.u.dir[0] = newpair[0]; entry.d.u.dir[1] = newpair[1]; + lfs_entry_tole32(&entry.d); int err = lfs_dir_set(lfs, &parent, &entry, (struct lfs_region[]){ {LFS_FROM_MEM, 0, sizeof(entry.d), &entry.d, sizeof(entry.d)}}, 1); @@ -3133,8 +3135,7 @@ int lfs_deorphan(lfs_t *lfs) { entry.d.u.dir[0], entry.d.u.dir[1]); entry.d.type &= ~LFS_STRUCT_MOVED; err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){ - {LFS_FROM_MEM, 0, sizeof(entry.d), - &entry.d, sizeof(entry.d)}}, 1); + {LFS_FROM_MEM, 0, 1, &entry.d, 1}}, 1); if (err) { return err; } @@ -3158,7 +3159,7 @@ int lfs_fs_getattrs(lfs_t *lfs, const struct lfs_attr *attrs, int count) { } lfs_entry_t entry = {.off = sizeof(dir.d)}; - err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, sizeof(entry.d)); + err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, 4); if (err) { return err; } @@ -3175,7 +3176,7 @@ int lfs_fs_setattrs(lfs_t *lfs, const struct lfs_attr *attrs, int count) { } lfs_entry_t entry = {.off = sizeof(dir.d)}; - err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, sizeof(entry.d)); + err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, 4); if (err) { return err; }