@@ -184,11 +184,17 @@ char* AdafruitIO_Data::toChar()
184
184
185
185
String AdafruitIO_Data::toString ()
186
186
{
187
+ if (! _value)
188
+ return String ();
189
+
187
190
return String (_value);
188
191
}
189
192
190
193
bool AdafruitIO_Data::toBool ()
191
194
{
195
+ if (! _value)
196
+ return false ;
197
+
192
198
if (strcmp (_value, " 1" ) == 0 || _value[0 ] == ' t' || _value[0 ] == ' T' )
193
199
return true ;
194
200
else
@@ -207,6 +213,9 @@ bool AdafruitIO_Data::isFalse()
207
213
208
214
int AdafruitIO_Data::toInt ()
209
215
{
216
+ if (! _value)
217
+ return 0 ;
218
+
210
219
char * endptr;
211
220
return (int )strtol (_value, &endptr, 10 );
212
221
}
@@ -221,6 +230,9 @@ int AdafruitIO_Data::toPinLevel()
221
230
222
231
unsigned int AdafruitIO_Data::toUnsignedInt ()
223
232
{
233
+ if (! _value)
234
+ return 0 ;
235
+
224
236
char * endptr;
225
237
#ifdef ESP8266
226
238
// For some reason strtoul is not defined on the ESP8266 platform right now.
@@ -233,24 +245,36 @@ unsigned int AdafruitIO_Data::toUnsignedInt()
233
245
234
246
float AdafruitIO_Data::toFloat ()
235
247
{
248
+ if (! _value)
249
+ return 0 ;
250
+
236
251
char * endptr;
237
252
return (float )strtod (_value, &endptr);
238
253
}
239
254
240
255
double AdafruitIO_Data::toDouble ()
241
256
{
257
+ if (! _value)
258
+ return 0 ;
259
+
242
260
char * endptr;
243
261
return strtod (_value, &endptr);
244
262
}
245
263
246
264
long AdafruitIO_Data::toLong ()
247
265
{
266
+ if (! _value)
267
+ return 0 ;
268
+
248
269
char * endptr;
249
270
return strtol (_value, &endptr, 10 );
250
271
}
251
272
252
273
unsigned long AdafruitIO_Data::toUnsignedLong ()
253
274
{
275
+ if (! _value)
276
+ return 0 ;
277
+
254
278
char * endptr;
255
279
#ifdef ESP8266
256
280
// For some reason strtoul is not defined on the ESP8266 platform right now.
@@ -265,6 +289,9 @@ char* AdafruitIO_Data::toCSV()
265
289
{
266
290
char csv[150 ];
267
291
292
+ if (! _value)
293
+ return _csv;
294
+
268
295
strcpy (csv, _value);
269
296
strcat (csv, " ," );
270
297
strcat (csv, charFromDouble (_lat));
0 commit comments