mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 16:14:16 +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[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; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user