mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Deprecate LFS_F_OPENED and use lfs_mlist_isused instead
Instead of additional flag, we can just go through the mlist.
This commit is contained in:
		
				
					committed by
					
						 Christopher Haster
						Christopher Haster
					
				
			
			
				
	
			
			
			
						parent
						
							ce425a56c3
						
					
				
				
					commit
					7388b2938a
				
			
							
								
								
									
										25
									
								
								lfs.c
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								lfs.c
									
									
									
									
									
								
							| @@ -2462,7 +2462,7 @@ static int lfs_file_opencfgraw(lfs_t *lfs, lfs_file_t *file, | |||||||
|     // setup simple file details |     // setup simple file details | ||||||
|     int err; |     int err; | ||||||
|     file->cfg = cfg; |     file->cfg = cfg; | ||||||
|     file->flags = flags | LFS_F_OPENED; |     file->flags = flags; | ||||||
|     file->pos = 0; |     file->pos = 0; | ||||||
|     file->off = 0; |     file->off = 0; | ||||||
|     file->cache.buffer = NULL; |     file->cache.buffer = NULL; | ||||||
| @@ -2615,7 +2615,7 @@ static int lfs_file_openraw(lfs_t *lfs, lfs_file_t *file, | |||||||
| } | } | ||||||
|  |  | ||||||
| static int lfs_file_closeraw(lfs_t *lfs, lfs_file_t *file) { | static int lfs_file_closeraw(lfs_t *lfs, lfs_file_t *file) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|  |  | ||||||
| #ifdef LFS_READONLY | #ifdef LFS_READONLY | ||||||
|     int err = 0; |     int err = 0; | ||||||
| @@ -2631,14 +2631,13 @@ static int lfs_file_closeraw(lfs_t *lfs, lfs_file_t *file) { | |||||||
|         lfs_free(file->cache.buffer); |         lfs_free(file->cache.buffer); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     file->flags &= ~LFS_F_OPENED; |  | ||||||
|     return err; |     return err; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
| static int lfs_file_relocate(lfs_t *lfs, lfs_file_t *file) { | static int lfs_file_relocate(lfs_t *lfs, lfs_file_t *file) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|  |  | ||||||
|     while (true) { |     while (true) { | ||||||
|         // just relocate what exists into new block |         // just relocate what exists into new block | ||||||
| @@ -2725,7 +2724,7 @@ static int lfs_file_outline(lfs_t *lfs, lfs_file_t *file) { | |||||||
|  |  | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
| static int lfs_file_flush(lfs_t *lfs, lfs_file_t *file) { | static int lfs_file_flush(lfs_t *lfs, lfs_file_t *file) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|  |  | ||||||
|     if (file->flags & LFS_F_READING) { |     if (file->flags & LFS_F_READING) { | ||||||
|         if (!(file->flags & LFS_F_INLINE)) { |         if (!(file->flags & LFS_F_INLINE)) { | ||||||
| @@ -2742,7 +2741,7 @@ static int lfs_file_flush(lfs_t *lfs, lfs_file_t *file) { | |||||||
|             lfs_file_t orig = { |             lfs_file_t orig = { | ||||||
|                 .ctz.head = file->ctz.head, |                 .ctz.head = file->ctz.head, | ||||||
|                 .ctz.size = file->ctz.size, |                 .ctz.size = file->ctz.size, | ||||||
|                 .flags = LFS_O_RDONLY | LFS_F_OPENED, |                 .flags = LFS_O_RDONLY, | ||||||
|                 .pos = file->pos, |                 .pos = file->pos, | ||||||
|                 .cache = lfs->rcache, |                 .cache = lfs->rcache, | ||||||
|             }; |             }; | ||||||
| @@ -2807,7 +2806,7 @@ relocate: | |||||||
|  |  | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
| static int lfs_file_syncraw(lfs_t *lfs, lfs_file_t *file) { | static int lfs_file_syncraw(lfs_t *lfs, lfs_file_t *file) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|  |  | ||||||
|     if (file->flags & LFS_F_ERRED) { |     if (file->flags & LFS_F_ERRED) { | ||||||
|         // it's not safe to do anything if our file errored |         // it's not safe to do anything if our file errored | ||||||
| @@ -2862,7 +2861,7 @@ static int lfs_file_syncraw(lfs_t *lfs, lfs_file_t *file) { | |||||||
|  |  | ||||||
| static lfs_ssize_t lfs_file_readraw(lfs_t *lfs, lfs_file_t *file, | static lfs_ssize_t lfs_file_readraw(lfs_t *lfs, lfs_file_t *file, | ||||||
|         void *buffer, lfs_size_t size) { |         void *buffer, lfs_size_t size) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
|     LFS_ASSERT((file->flags & LFS_O_RDWR) != LFS_O_WRONLY); |     LFS_ASSERT((file->flags & LFS_O_RDWR) != LFS_O_WRONLY); | ||||||
| #endif | #endif | ||||||
| @@ -2939,7 +2938,7 @@ static lfs_ssize_t lfs_file_readraw(lfs_t *lfs, lfs_file_t *file, | |||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
| static lfs_ssize_t lfs_file_writeraw(lfs_t *lfs, lfs_file_t *file, | static lfs_ssize_t lfs_file_writeraw(lfs_t *lfs, lfs_file_t *file, | ||||||
|         const void *buffer, lfs_size_t size) { |         const void *buffer, lfs_size_t size) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|     LFS_ASSERT((file->flags & LFS_O_RDWR) != LFS_O_RDONLY); |     LFS_ASSERT((file->flags & LFS_O_RDWR) != LFS_O_RDONLY); | ||||||
|  |  | ||||||
|     const uint8_t *data = buffer; |     const uint8_t *data = buffer; | ||||||
| @@ -3060,7 +3059,7 @@ relocate: | |||||||
|  |  | ||||||
| static lfs_soff_t lfs_file_seekraw(lfs_t *lfs, lfs_file_t *file, | static lfs_soff_t lfs_file_seekraw(lfs_t *lfs, lfs_file_t *file, | ||||||
|         lfs_soff_t off, int whence) { |         lfs_soff_t off, int whence) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|  |  | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
|     // write out everything beforehand, may be noop if rdonly |     // write out everything beforehand, may be noop if rdonly | ||||||
| @@ -3092,7 +3091,7 @@ static lfs_soff_t lfs_file_seekraw(lfs_t *lfs, lfs_file_t *file, | |||||||
|  |  | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
| static int lfs_file_truncateraw(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) { | static int lfs_file_truncateraw(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|     LFS_ASSERT((file->flags & LFS_O_RDWR) != LFS_O_RDONLY); |     LFS_ASSERT((file->flags & LFS_O_RDWR) != LFS_O_RDONLY); | ||||||
|  |  | ||||||
|     if (size > LFS_FILE_MAX) { |     if (size > LFS_FILE_MAX) { | ||||||
| @@ -3148,7 +3147,7 @@ static int lfs_file_truncateraw(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) { | |||||||
| #endif | #endif | ||||||
|  |  | ||||||
| static lfs_soff_t lfs_file_tellraw(lfs_t *lfs, lfs_file_t *file) { | static lfs_soff_t lfs_file_tellraw(lfs_t *lfs, lfs_file_t *file) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|     (void)lfs; |     (void)lfs; | ||||||
|     return file->pos; |     return file->pos; | ||||||
| } | } | ||||||
| @@ -3163,7 +3162,7 @@ static int lfs_file_rewindraw(lfs_t *lfs, lfs_file_t *file) { | |||||||
| } | } | ||||||
|  |  | ||||||
| static lfs_soff_t lfs_file_sizeraw(lfs_t *lfs, lfs_file_t *file) { | static lfs_soff_t lfs_file_sizeraw(lfs_t *lfs, lfs_file_t *file) { | ||||||
|     LFS_ASSERT(file->flags & LFS_F_OPENED); |     LFS_ASSERT(lfs_mlist_isopen(lfs->mlist, (struct lfs_mlist*)file)); | ||||||
|     (void)lfs; |     (void)lfs; | ||||||
|  |  | ||||||
| #ifndef LFS_READONLY | #ifndef LFS_READONLY | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								lfs.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								lfs.h
									
									
									
									
									
								
							| @@ -143,7 +143,6 @@ enum lfs_open_flags { | |||||||
|     LFS_F_ERRED   = 0x080000, // An error occurred during write |     LFS_F_ERRED   = 0x080000, // An error occurred during write | ||||||
| #endif | #endif | ||||||
|     LFS_F_INLINE  = 0x100000, // Currently inlined in directory entry |     LFS_F_INLINE  = 0x100000, // Currently inlined in directory entry | ||||||
|     LFS_F_OPENED  = 0x200000, // File has been opened |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| // File seek flags | // File seek flags | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user