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:
123:b0d950f80ed9
Parent:
122:21be9cc9e63d
Child:
135:7f3f963cd159
--- a/Preferences.cpp	Thu Mar 20 16:02:39 2014 +0000
+++ b/Preferences.cpp	Thu Mar 20 20:00:31 2014 +0000
@@ -33,6 +33,8 @@
  
  // initialize the preferences from the preferences file
  bool Preferences::initialize() {
+     char name[PREFERENCE_NAME_LEN+1];
+     char value[PREFERENCE_VALUE_LEN+1];
      char buffer[PREFERENCE_NAME_LEN + PREFERENCE_NAME_LEN + 10];
      bool success = true;
      
@@ -56,7 +58,11 @@
              for(int i=0;i<strlen(buffer);++i) if (buffer[i] == '=') buffer[i] = ' ';
              
              // parse
-             sscanf(buffer,"%s%s",this->m_names[this->m_num_preferences],this->m_values[this->m_num_preferences]);
+             memset(name,0,PREFERENCE_NAME_LEN+1);
+             memset(value,0,PREFERENCE_VALUE_LEN+1);
+             sscanf(buffer,"%s%s",name,value);
+             strcpy(this->m_names[this->m_num_preferences],name);
+             strcpy(this->m_values[this->m_num_preferences],value);
              
              // DEBUG
              this->logger()->log("Installed Preference: %s=%s",this->m_names[this->m_num_preferences],this->m_values[this->m_num_preferences]);