Minor update

- DataTreeCore:
  - Use strdup() to copy strings
This commit is contained in:
Charl Wentzel
2019-07-29 18:48:46 +02:00
parent 1b4ec32065
commit 429dae5f50

View File

@@ -17,10 +17,8 @@
CDataMember::CDataMember( const char * pName, const int pLen ) CDataMember::CDataMember( const char * pName, const int pLen )
{ {
if (pName) { if (pName) {
NameLen = (pLen == -1)? strlen( pName ) : pLen ; Name = strdup( pName );
Name = (char *)malloc( NameLen+1 ); NameLen = (pLen == -1)? strlen( pName ) : pLen ;
memcpy( Name, pName, NameLen );
Name[ NameLen ] = 0;
} }
else { else {
Name = NULL; Name = NULL;
@@ -43,10 +41,8 @@ CDataMember::CDataMember( const char * pName, const int pLen )
CDataMember::CDataMember( CDataMember * pParent, const char * pName, const int pLen ) CDataMember::CDataMember( CDataMember * pParent, const char * pName, const int pLen )
{ {
if (pName) { if (pName) {
NameLen = (pLen == -1)? strlen( pName ) : pLen ; Name = strdup( pName );
Name = (char *)malloc( NameLen+1 ); NameLen = (pLen == -1)? strlen( pName ) : pLen ;
memcpy( Name, pName, NameLen );
Name[ NameLen ] = 0;
} }
else { else {
Name = NULL; Name = NULL;
@@ -376,10 +372,8 @@ bool CDataMember::SetValue( EJsonDataType pType, const char * pValue, int pLen
// Set new primitive value // Set new primitive value
if ((pType == jtString) || (pType == jtFloat) || (pType == jtInt) || (pType == jtBool)) if ((pType == jtString) || (pType == jtFloat) || (pType == jtInt) || (pType == jtBool))
{ {
Value = strdup( pValue );
Len = (pLen == -1)? strlen(pValue) : pLen; Len = (pLen == -1)? strlen(pValue) : pLen;
Value = (char*)malloc( Len+1 );
memcpy( Value, pValue, Len );
Value[Len] = 0;
} }
return true; return true;
} }