Skip to content

Commit ea4ded4

Browse files
committed
Fixed big-endian support again
This is what I get for not runing CI on a local development branch.
1 parent 2a8277b commit ea4ded4

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

lfs.c

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,6 +1272,7 @@ int lfs_mkdir(lfs_t *lfs, const char *path) {
12721272

12731273
cwd.d.tail[0] = dir.pair[0];
12741274
cwd.d.tail[1] = dir.pair[1];
1275+
lfs_entry_tole32(&entry.d);
12751276
err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){
12761277
{LFS_FROM_MEM, 0, 0, &entry.d, sizeof(entry.d)},
12771278
{LFS_FROM_MEM, 0, 0, path, nlen}}, 2);
@@ -1893,8 +1894,7 @@ int lfs_file_sync(lfs_t *lfs, lfs_file_t *file) {
18931894
}
18941895

18951896
lfs_entry_t entry = {.off = file->pairoff};
1896-
err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, sizeof(entry.d));
1897-
lfs_entry_fromle32(&entry.d);
1897+
err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, 4);
18981898
if (err) {
18991899
return err;
19001900
}
@@ -1912,6 +1912,7 @@ int lfs_file_sync(lfs_t *lfs, lfs_file_t *file) {
19121912
entry.d.u.file.head = file->head;
19131913
entry.d.u.file.size = file->size;
19141914

1915+
lfs_entry_tole32(&entry.d);
19151916
buffer = (const uint8_t *)&entry.d + 4;
19161917
size = sizeof(entry.d) - 4;
19171918
} else {
@@ -2249,7 +2250,7 @@ int lfs_file_getattrs(lfs_t *lfs, lfs_file_t *file,
22492250
}
22502251

22512252
lfs_entry_t entry = {.off = file->pairoff};
2252-
err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, sizeof(entry.d));
2253+
err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, 4);
22532254
if (err) {
22542255
return err;
22552256
}
@@ -2293,7 +2294,7 @@ int lfs_file_setattrs(lfs_t *lfs, lfs_file_t *file,
22932294
}
22942295

22952296
lfs_entry_t entry = {.off = file->pairoff};
2296-
err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, sizeof(entry.d));
2297+
err = lfs_dir_get(lfs, &cwd, entry.off, &entry.d, 4);
22972298
if (err) {
22982299
return err;
22992300
}
@@ -2740,7 +2741,7 @@ int lfs_mount(lfs_t *lfs, const struct lfs_config *cfg) {
27402741
}
27412742

27422743
lfs_entry_t entry = {.off = sizeof(dir.d)};
2743-
err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, sizeof(entry.d));
2744+
err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, 4);
27442745
if (err) {
27452746
return err;
27462747
}
@@ -3005,6 +3006,7 @@ static int lfs_relocate(lfs_t *lfs,
30053006
// update disk, this creates a desync
30063007
entry.d.u.dir[0] = newpair[0];
30073008
entry.d.u.dir[1] = newpair[1];
3009+
lfs_entry_tole32(&entry.d);
30083010
int err = lfs_dir_set(lfs, &parent, &entry, (struct lfs_region[]){
30093011
{LFS_FROM_MEM, 0, sizeof(entry.d),
30103012
&entry.d, sizeof(entry.d)}}, 1);
@@ -3133,8 +3135,7 @@ int lfs_deorphan(lfs_t *lfs) {
31333135
entry.d.u.dir[0], entry.d.u.dir[1]);
31343136
entry.d.type &= ~LFS_STRUCT_MOVED;
31353137
err = lfs_dir_set(lfs, &cwd, &entry, (struct lfs_region[]){
3136-
{LFS_FROM_MEM, 0, sizeof(entry.d),
3137-
&entry.d, sizeof(entry.d)}}, 1);
3138+
{LFS_FROM_MEM, 0, 1, &entry.d, 1}}, 1);
31383139
if (err) {
31393140
return err;
31403141
}
@@ -3158,7 +3159,7 @@ int lfs_fs_getattrs(lfs_t *lfs, const struct lfs_attr *attrs, int count) {
31583159
}
31593160

31603161
lfs_entry_t entry = {.off = sizeof(dir.d)};
3161-
err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, sizeof(entry.d));
3162+
err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, 4);
31623163
if (err) {
31633164
return err;
31643165
}
@@ -3175,7 +3176,7 @@ int lfs_fs_setattrs(lfs_t *lfs, const struct lfs_attr *attrs, int count) {
31753176
}
31763177

31773178
lfs_entry_t entry = {.off = sizeof(dir.d)};
3178-
err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, sizeof(entry.d));
3179+
err = lfs_dir_get(lfs, &dir, entry.off, &entry.d, 4);
31793180
if (err) {
31803181
return err;
31813182
}

0 commit comments

Comments
 (0)