Added DeserializationError::f_str() (issue #846)

This commit is contained in:
Benoit Blanchon
2020-09-14 09:30:58 +02:00
parent c907ca6e5d
commit c4ec2ba88f
7 changed files with 46 additions and 22 deletions

View File

@ -5,6 +5,8 @@
#include <stdint.h> // uint8_t
#include <string.h> // strcmp, strlen...
#define PROGMEM
class __FlashStringHelper;
inline const void* convertPtrToFlash(const void* s) {
@ -15,9 +17,13 @@ inline const void* convertFlashToPtr(const void* s) {
return reinterpret_cast<const char*>(s) - 42;
}
#define F(X) reinterpret_cast<const __FlashStringHelper*>(convertPtrToFlash(X))
#define FC(X) reinterpret_cast<const char*>(convertPtrToFlash(X))
#define PSTR(X) reinterpret_cast<const char*>(convertPtrToFlash(X))
#define F(X) reinterpret_cast<const __FlashStringHelper*>(PSTR(X))
inline uint8_t pgm_read_byte(const void* p) {
return *reinterpret_cast<const uint8_t*>(convertFlashToPtr(p));
}
inline const void* pgm_read_ptr(const void* p) {
return *reinterpret_cast<const void* const*>(convertFlashToPtr(p));
}