mirror of
https://github.com/littlefs-project/littlefs.git
synced 2025-10-30 04:02:29 +00:00
Rearranged compile-time constant checks to live near lfs_init
lfs_init handles the checks/asserts of most configuration, moving these checks near lfs_init attempts to keep all of these checks nearby each other. Also updated the comments to avoid somtimes-ambiguous range notation. And removed negative bounds checks. Negative bounds should be obviously incorrect, and 0 is _technically_ not illegal for any define (though admittedly unlikely to be correct).
This commit is contained in:
parent
c531a5e88f
commit
1fefcbbcba
32
lfs.c
32
lfs.c
@ -8,23 +8,6 @@
|
||||
#include "lfs.h"
|
||||
#include "lfs_util.h"
|
||||
|
||||
// Configuration Sanity Check
|
||||
#if (LFS_NAME_MAX <= 0) || (LFS_NAME_MAX > 1022)
|
||||
#error "LFS_NAME_MAX must be in the range (0, 1022]"
|
||||
#endif
|
||||
|
||||
#if (LFS_FILE_MAX <= 0) || (LFS_FILE_MAX > 4294967295)
|
||||
#error "LFS_FILE_MAX must be in the range (0, 4294967295]"
|
||||
#endif
|
||||
|
||||
#if (LFS_FILE_MAX > 2147483647)
|
||||
#warning "LFS_FILE_MAX>2147483647; lfs_file_seek, lfs_file_size, and lfs_file_tell will not function properly."
|
||||
#endif
|
||||
|
||||
#if (LFS_ATTR_MAX < 0) || (LFS_ATTR_MAX > 1022)
|
||||
#error "LFS_ATTR_MAX must be in the range [0, 1022]"
|
||||
#endif
|
||||
|
||||
|
||||
// some constants used throughout the code
|
||||
#define LFS_BLOCK_NULL ((lfs_block_t)-1)
|
||||
@ -4123,6 +4106,21 @@ static int lfs_rawremoveattr(lfs_t *lfs, const char *path, uint8_t type) {
|
||||
|
||||
|
||||
/// Filesystem operations ///
|
||||
|
||||
// compile time checks, see lfs.h for why these limits exist
|
||||
#if LFS_NAME_MAX > 1022
|
||||
#error "Invalid LFS_NAME_MAX, must be <= 1022"
|
||||
#endif
|
||||
|
||||
#if LFS_FILE_MAX > 4294967295
|
||||
#error "Invalid LFS_FILE_MAX, must be <= 4294967295"
|
||||
#endif
|
||||
|
||||
#if LFS_ATTR_MAX > 1022
|
||||
#error "Invalid LFS_ATTR_MAX, must be <= 1022"
|
||||
#endif
|
||||
|
||||
// common filesystem initialization
|
||||
static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) {
|
||||
lfs->cfg = cfg;
|
||||
lfs->block_count = cfg->block_count; // May be 0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user