mirror of
https://github.com/eledio-devices/thirdparty-littlefs.git
synced 2025-11-01 00:38:29 +01:00
Fixed big-endian support again
This is what I get for not runing CI on a local development branch.
This commit is contained in:
19
lfs.c
19
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[0] = dir.pair[0];
|
||||||
cwd.d.tail[1] = dir.pair[1];
|
cwd.d.tail[1] = dir.pair[1];
|
||||||
|
lfs_entry_tole32(&entry.d);
|
||||||
err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){
|
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, &entry.d, sizeof(entry.d)},
|
||||||
{LFS_FROM_MEM, 0, 0, path, nlen}}, 2);
|
{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};
|
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);
|
||||||
lfs_entry_fromle32(&entry.d);
|
|
||||||
if (err) {
|
if (err) {
|
||||||
return 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.head = file->head;
|
||||||
entry.d.u.file.size = file->size;
|
entry.d.u.file.size = file->size;
|
||||||
|
|
||||||
|
lfs_entry_tole32(&entry.d);
|
||||||
buffer = (const uint8_t *)&entry.d + 4;
|
buffer = (const uint8_t *)&entry.d + 4;
|
||||||
size = sizeof(entry.d) - 4;
|
size = sizeof(entry.d) - 4;
|
||||||
} else {
|
} else {
|
||||||
@@ -2249,7 +2250,7 @@ int lfs_file_getattrs(lfs_t *lfs, lfs_file_t *file,
|
|||||||
}
|
}
|
||||||
|
|
||||||
lfs_entry_t entry = {.off = file->pairoff};
|
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) {
|
if (err) {
|
||||||
return 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};
|
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) {
|
if (err) {
|
||||||
return 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)};
|
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) {
|
if (err) {
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -3005,6 +3006,7 @@ static int lfs_relocate(lfs_t *lfs,
|
|||||||
// update disk, this creates a desync
|
// update disk, this creates a desync
|
||||||
entry.d.u.dir[0] = newpair[0];
|
entry.d.u.dir[0] = newpair[0];
|
||||||
entry.d.u.dir[1] = newpair[1];
|
entry.d.u.dir[1] = newpair[1];
|
||||||
|
lfs_entry_tole32(&entry.d);
|
||||||
int err = lfs_dir_set(lfs, &parent, &entry, (struct lfs_region[]){
|
int err = lfs_dir_set(lfs, &parent, &entry, (struct lfs_region[]){
|
||||||
{LFS_FROM_MEM, 0, sizeof(entry.d),
|
{LFS_FROM_MEM, 0, sizeof(entry.d),
|
||||||
&entry.d, sizeof(entry.d)}}, 1);
|
&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.u.dir[0], entry.d.u.dir[1]);
|
||||||
entry.d.type &= ~LFS_STRUCT_MOVED;
|
entry.d.type &= ~LFS_STRUCT_MOVED;
|
||||||
err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){
|
err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){
|
||||||
{LFS_FROM_MEM, 0, sizeof(entry.d),
|
{LFS_FROM_MEM, 0, 1, &entry.d, 1}}, 1);
|
||||||
&entry.d, sizeof(entry.d)}}, 1);
|
|
||||||
if (err) {
|
if (err) {
|
||||||
return 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)};
|
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) {
|
if (err) {
|
||||||
return 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)};
|
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) {
|
if (err) {
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user