#include "string.h"
#include "oic_malloc.h"
#include "logger.h"
+#include "ocpayload.h"
/**
* @var ESX_ENROLLEE_TAG
}
}
-void ReadUserdataCb(OCRepPayload* payload, char* resourceType, void* userdata)
+void ReadUserdataCb(OCRepPayload* payload, char* resourceType, void** userdata)
{
OIC_LOG(DEBUG, ESX_ENROLLEE_TAG, "ReadUserdataCb IN");
if(payload != NULL)
{
- if(strstr(resourceType, OC_RSRVD_ES_RES_TYPE_WIFI))
+ if(strstr(resourceType, OC_RSRVD_ES_RES_TYPE_WIFICONF))
{
int64_t value = -1;
if (OCRepPayloadGetPropInt(payload, USERPROPERTY_KEY_INT, &value))
{
- if(userdata != NULL)
- userdata = (void*)OICMalloc(sizeof(UserProperties));
+ if(*userdata == NULL)
+ {
+ *userdata = (void*)OICMalloc(sizeof(UserProperties));
+ if( *userdata == NULL )
+ {
+ OIC_LOG(ERROR, ESX_ENROLLEE_TAG, "OICMalloc for UserProperties is failed");
+ return ;
+ }
+ memset(*userdata, 0, sizeof(UserProperties));
+ }
+
+ ((UserProperties*)(*userdata))->userValue_int = value;
OIC_LOG_V(INFO, ESX_ENROLLEE_TAG, "[User specific property] %s : %ld",
USERPROPERTY_KEY_INT, value);
- ((UserProperties*)userdata)->userValue_int = value;
g_userProperties.userValue_int = value;
}
}
if(payload != NULL)
{
- if(strstr(resourceType, OC_RSRVD_ES_RES_TYPE_WIFI))
+ if(strstr(resourceType, OC_RSRVD_ES_RES_TYPE_WIFICONF))
{
OCRepPayloadSetPropInt(payload, USERPROPERTY_KEY_INT, g_userProperties.userValue_int);
}