Important Update:

- Implement Handle Address renaming:
- Restructure JSON config, with address list and rename list
- SelectableCore:
  - Add method GetHandleAddress() - lookup renamed handle
  - Add init values to all struct and classes declarations
- Replace malloc()/strcpy() sequences with strdup()
This commit is contained in:
Charl Wentzel
2019-01-08 08:35:21 +02:00
parent c5da842ac1
commit 3e40f7a86d
7 changed files with 128 additions and 232 deletions

View File

@@ -410,8 +410,7 @@ TDevice * CDeviceCore::AddDeviceType( const char * DeviceTypeName )
else {
*DeviceType = new TDevice;
(*DeviceType)->Type = (char *)malloc( strlen( DeviceTypeName )+1 );
strcpy( (*DeviceType)->Type, DeviceTypeName );
(*DeviceType)->Type = strdup( DeviceTypeName );
if (Log) Log->Message( LogLevel, dlMedium, "%s/%s: Added device type '%s'",
ProcessName, Name, DeviceTypeName );
@@ -454,20 +453,15 @@ TDevice * CDeviceCore::AddDevice( const char * DeviceName, const char * DeviceTy
else {
*Device = new TDevice;
(*Device)->Name = (char *)malloc( strlen( DeviceName )+1 );
strcpy( (*Device)->Name, DeviceName );
(*Device)->ID = DeviceID;
(*Device)->Name = strdup( DeviceName );
(*Device)->ID = DeviceID;
if (DeviceAddress) {
(*Device)->Address = (char *)malloc( strlen( DeviceAddress )+1 );
strcpy( (*Device)->Address, DeviceAddress );
(*Device)->Address = strdup( DeviceAddress );
}
if (DeviceType && *DeviceType) {
(*Device)->Type = (char *)malloc( strlen( DeviceType )+1 );
strcpy( (*Device)->Type, DeviceType );
(*Device)->Type = strdup( DeviceType );
(*Device)->Template = GetDeviceType( DeviceType );
}
@@ -540,8 +534,7 @@ TDeviceParam * CDeviceCore::AddDeviceParam( TDevice * Device, const char * Param
*Param = new TDeviceParam;
// Set Name
(*Param)->Name = (char *)malloc( strlen( ParamName )+1 );
strcpy( (*Param)->Name, ParamName );
(*Param)->Name = strdup( ParamName );
(*Param)->DataType = DataType;
(*Param)->Device = Device;
@@ -683,9 +676,7 @@ TDeviceParamGroup * CDeviceCore::AddParamGroup( TDevice * Device, const char * G
else {
*ParamGroup = new TDeviceParamGroup;
(*ParamGroup)->Name = (char *)malloc( strlen( GroupName )+1 );
strcpy( (*ParamGroup)->Name, GroupName );
(*ParamGroup)->Name = strdup( GroupName );
(*ParamGroup)->Device = Device;
if (Log) Log->Message( LogLevel, dlMedium, "%s/%s: Added param group '%s/%s'",
@@ -1197,8 +1188,7 @@ bool CDeviceCore::SetValue( TDeviceParam * Param, const char * Value, const int
{
// Ensure string is zero terminated
if (Value[Len] != 0) {
TempStr = (char *)malloc( Len+1 );
memcpy( TempStr, Value, Len );
TempStr = strndup( Value, Len );
TempStr[Len] = 0;
UseTempStr = true;
}