mirror of
https://github.com/littlefs-project/littlefs.git
synced 2025-10-30 04:02:29 +00:00
Merge pull request #886 from BrianPugh/macro-sanity-check
Add value-range checks for user-definable macros at compile-time
This commit is contained in:
commit
1711bdef76
15
lfs.c
15
lfs.c
@ -4108,6 +4108,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 > 2147483647
|
||||
#error "Invalid LFS_FILE_MAX, must be <= 2147483647"
|
||||
#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
|
||||
|
||||
6
lfs.h
6
lfs.h
@ -52,10 +52,8 @@ typedef uint32_t lfs_block_t;
|
||||
#endif
|
||||
|
||||
// Maximum size of a file in bytes, may be redefined to limit to support other
|
||||
// drivers. Limited on disk to <= 4294967296. However, above 2147483647 the
|
||||
// functions lfs_file_seek, lfs_file_size, and lfs_file_tell will return
|
||||
// incorrect values due to using signed integers. Stored in superblock and
|
||||
// must be respected by other littlefs drivers.
|
||||
// drivers. Limited on disk to <= 2147483647. Stored in superblock and must be
|
||||
// respected by other littlefs drivers.
|
||||
#ifndef LFS_FILE_MAX
|
||||
#define LFS_FILE_MAX 2147483647
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user