diff --git a/components/spiffs/CMakeLists.txt b/components/spiffs/CMakeLists.txt index 68e5cc6b87..142ad9ec29 100644 --- a/components/spiffs/CMakeLists.txt +++ b/components/spiffs/CMakeLists.txt @@ -1,11 +1,12 @@ idf_build_get_property(target IDF_TARGET) -list(APPEND srcs "spiffs_api.c" - "spiffs/src/spiffs_cache.c" - "spiffs/src/spiffs_check.c" - "spiffs/src/spiffs_gc.c" - "spiffs/src/spiffs_hydrogen.c" - "spiffs/src/spiffs_nucleus.c") +set(original_srcs "spiffs/src/spiffs_cache.c" + "spiffs/src/spiffs_check.c" + "spiffs/src/spiffs_gc.c" + "spiffs/src/spiffs_hydrogen.c" + "spiffs/src/spiffs_nucleus.c") + +list(APPEND srcs "spiffs_api.c" ${original_srcs}) if(NOT ${target} STREQUAL "linux") list(APPEND pr bootloader_support esptool_py vfs) @@ -21,3 +22,6 @@ idf_component_register(SRCS ${srcs} if(CMAKE_C_COMPILER_ID MATCHES "GNU") set_source_files_properties(spiffs/src/spiffs_nucleus.c PROPERTIES COMPILE_FLAGS -Wno-stringop-truncation) endif() + +# Upstream SPIFFS code uses format specifiers in debug logging macros inconsistently +set_source_files_properties(${original_srcs} PROPERTIES COMPILE_FLAGS -Wno-format) diff --git a/components/spiffs/include/spiffs_config.h b/components/spiffs/include/spiffs_config.h index 3b7c000ea3..b245a5d1b5 100644 --- a/components/spiffs/include/spiffs_config.h +++ b/components/spiffs/include/spiffs_config.h @@ -71,7 +71,7 @@ extern void spiffs_api_unlock(struct spiffs_t *fs); // Defines spiffs debug print formatters // some general signed number -#define _SPIPRIi "%d" +#define _SPIPRIi "%"PRIdMAX // address #define _SPIPRIad "%08x" // block