Core Base Classes for the Light Endpoints

Dependencies:   BufferedSerial

Dependents:   mbed_mqtt_endpoint_ublox_ethernet mbed_mqtt_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_cellular mbed_nsp_endpoint_ublox_ethernet ... more

Revision:
114:bd38ad417d6a
Parent:
112:1fb53d4729af
Child:
116:428281cb5066
--- a/Preferences.cpp	Tue Mar 18 21:50:19 2014 +0000
+++ b/Preferences.cpp	Wed Mar 19 03:30:37 2014 +0000
@@ -82,9 +82,12 @@
  
  // string preference with defaults
  char *Preferences::getPreference(char *name,char *buffer,int buffer_length,char *def_value) {
-     char *value = def_value;
-     if (this->m_config_file->getValue(name, &buffer[0], buffer_length)) value = buffer;
-     return value;
+     if (this->m_config_file != NULL) {
+         memset(buffer,0,buffer_length);
+         this->m_config_file->getValue(name, &buffer[0], buffer_length);
+         if (strlen(buffer) == 0 && def_value != NULL) strncpy(buffer,def_value,this->min(buffer_length,strlen(def_value)));
+     }
+     return buffer;
  }
  
  // get our error handler