|
|
@@ -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
|