From 4a0cdca28c60d223fa7a5fb71453da7596d27288 Mon Sep 17 00:00:00 2001 From: Sebastian Andersson Date: Thu, 14 Dec 2017 07:38:09 +0100 Subject: [PATCH] Export pgmspace symbols to C (#3955) --- cores/esp8266/pgmspace.cpp | 4 ++++ cores/esp8266/pgmspace.h | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cores/esp8266/pgmspace.cpp b/cores/esp8266/pgmspace.cpp index e705a32f6..f3c376dca 100644 --- a/cores/esp8266/pgmspace.cpp +++ b/cores/esp8266/pgmspace.cpp @@ -24,6 +24,8 @@ #include #include "pgmspace.h" +extern "C" { + size_t strnlen_P(PGM_P s, size_t size) { const char* cp; for (cp = s; size != 0 && pgm_read_byte(cp) != '\0'; cp++, size--); @@ -286,3 +288,5 @@ int vsnprintf_P(char* str, size_t strSize, PGM_P formatP, va_list ap) { return ret; } + +} // extern "C" diff --git a/cores/esp8266/pgmspace.h b/cores/esp8266/pgmspace.h index a785e2639..2e3a71f3a 100644 --- a/cores/esp8266/pgmspace.h +++ b/cores/esp8266/pgmspace.h @@ -4,16 +4,14 @@ #include #include -#ifdef __ets__ - #ifdef __cplusplus extern "C" { #endif + +#ifdef __ets__ + #include "ets_sys.h" #include "osapi.h" -#ifdef __cplusplus -} -#endif #define PROGMEM ICACHE_RODATA_ATTR #define PGM_P const char * @@ -136,4 +134,8 @@ static inline uint16_t pgm_read_word_inlined(const void* addr) { #define pgm_read_float_far(addr) pgm_read_float(addr) #define pgm_read_ptr_far(addr) pgm_read_ptr(addr) +#ifdef __cplusplus +} +#endif + #endif //__PGMSPACE_H_