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