@@ -66,17 +66,14 @@ size_t Preferences::putUChar(const char* key, uint8_t value) {
66
66
67
67
size_t Preferences::putShort (const char * key, int16_t value) {
68
68
return WiFiDrv::prefPut (key, PT_I16, (uint8_t *) &value, sizeof (value));
69
-
70
69
}
71
70
72
71
size_t Preferences::putUShort (const char * key, uint16_t value) {
73
72
return WiFiDrv::prefPut (key, PT_U16, (uint8_t *) &value, sizeof (value));
74
-
75
73
}
76
74
77
75
size_t Preferences::putInt (const char * key, int32_t value) {
78
76
return WiFiDrv::prefPut (key, PT_I32, (uint8_t *) &value, sizeof (value));
79
-
80
77
}
81
78
82
79
size_t Preferences::putUInt (const char * key, uint32_t value) {
@@ -284,13 +281,18 @@ size_t Preferences::getString(const char* key, char* value, const size_t maxLen)
284
281
return WiFiDrv::prefGet (key, PT_STR, (uint8_t *)value, maxLen);
285
282
}
286
283
287
- String Preferences::getString (const char * key, const String defaultValue) { // TODO
288
- Serial.println (" This function is not implemented yet" );
289
- if (!isKey (key)) {
290
- return defaultValue;
291
- }
284
+ String Preferences::getString (const char * key, const String defaultValue) {
285
+ size_t len = getBytesLength (key);
286
+ char *str = new char [len+1 ];
287
+
288
+ getString (key, str, len+1 );
289
+ str[len] = ' \0 ' ;
292
290
293
- return defaultValue;
291
+ String res (str);
292
+ delete str;
293
+ str = nullptr ;
294
+
295
+ return res;
294
296
}
295
297
296
298
size_t Preferences::getBytesLength (const char * key) {
0 commit comments