Merge branch 'master' into mqtt

This commit is contained in:
Jonathan Naylor
2025-03-15 17:23:14 +00:00
63 changed files with 792 additions and 791 deletions

358
Conf.cpp
View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2015-2020,2023 by Jonathan Naylor G4KLX
* Copyright (C) 2015-2020,2023,2025 by Jonathan Naylor G4KLX
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -194,18 +194,18 @@ CConf::~CConf()
bool CConf::read()
{
FILE* fp = ::fopen(m_file.c_str(), "rt");
if (fp == NULL) {
::fprintf(stderr, "Couldn't open the .ini file - %s\n", m_file.c_str());
return false;
}
FILE* fp = ::fopen(m_file.c_str(), "rt");
if (fp == nullptr) {
::fprintf(stderr, "Couldn't open the .ini file - %s\n", m_file.c_str());
return false;
}
SECTION section = SECTION_NONE;
SECTION section = SECTION::NONE;
char buffer[BUFFER_SIZE];
while (::fgets(buffer, BUFFER_SIZE, fp) != NULL) {
if (buffer[0U] == '#')
continue;
char buffer[BUFFER_SIZE];
while (::fgets(buffer, BUFFER_SIZE, fp) != nullptr) {
if (buffer[0U] == '#')
continue;
if (buffer[0U] == '[') {
if (::strncmp(buffer, "[General]", 9U) == 0)
@@ -244,13 +244,13 @@ bool CConf::read()
continue;
}
char* key = ::strtok(buffer, " \t=\r\n");
if (key == NULL)
continue;
char* key = ::strtok(buffer, " \t=\r\n");
if (key == nullptr)
continue;
char* value = ::strtok(NULL, "\r\n");
if (value == NULL)
continue;
char* value = ::strtok(nullptr, "\r\n");
if (value == nullptr)
continue;
// Remove quotes from the value
size_t len = ::strlen(value);
@@ -260,16 +260,16 @@ bool CConf::read()
} else {
char *p;
// if value is not quoted, remove after # (to make comment)
if ((p = strchr(value, '#')) != NULL)
*p = '\0';
// if value is not quoted, remove after # (to make comment)
if ((p = strchr(value, '#')) != nullptr)
*p = '\0';
// remove trailing tab/space
for (p = value + strlen(value) - 1U; p >= value && (*p == '\t' || *p == ' '); p--)
*p = '\0';
}
if (section == SECTION_GENERAL) {
if (section == SECTION::GENERAL) {
if (::strcmp(key, "Daemon") == 0)
m_daemon = ::atoi(value) == 1;
else if (::strcmp(key, "Timeout") == 0)
@@ -302,7 +302,7 @@ bool CConf::read()
m_voiceLanguage = value;
else if (::strcmp(key, "Directory") == 0)
m_voiceDirectory = value;
} else if (section == SECTION_INFO) {
} else if (section == SECTION::INFO) {
if (::strcmp(key, "Latitude") == 0)
m_infoLatitude = float(::atof(value));
else if (::strcmp(key, "Longitude") == 0)
@@ -315,7 +315,7 @@ bool CConf::read()
m_infoDescription = value;
else if (::strcmp(key, "URL") == 0)
m_infoURL = value;
} else if (section == SECTION_XLX_NETWORK) {
} else if (section == SECTION::XLX_NETWORK) {
if (::strcmp(key, "Enabled") == 0)
m_xlxNetworkEnabled = ::atoi(value) == 1;
else if (::strcmp(key, "Id") == 0)
@@ -377,11 +377,11 @@ bool CConf::read()
m_dmrNetwork1Debug = ::atoi(value) == 1;
else if (::strncmp(key, "TGRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CTGRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -392,11 +392,11 @@ bool CConf::read()
}
} else if (::strncmp(key, "PCRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CPCRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -407,26 +407,26 @@ bool CConf::read()
}
} else if (::strncmp(key, "TypeRewrite", 11U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr) {
CTypeRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
rewrite.m_toSlot = ::atoi(p3);
rewrite.m_toId = ::atoi(p4);
char* p5 = ::strtok(NULL, " \r\n");
rewrite.m_range = p5 != NULL ? ::atoi(p5) : 1;
char* p5 = ::strtok(nullptr, " \r\n");
rewrite.m_range = p5 != nullptr ? ::atoi(p5) : 1;
m_dmrNetwork1TypeRewrites.push_back(rewrite);
}
} else if (::strncmp(key, "SrcRewrite", 10U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CSrcRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -438,15 +438,15 @@ bool CConf::read()
} else if (::strncmp(key, "TGDynRewrite", 12U) == 0) {
std::vector<char*> p7;
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, ", ");
char* p6 = ::strtok(NULL, ", \r\n");
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, ", ");
char* p6 = ::strtok(nullptr, ", \r\n");
char* p;
while ((p = ::strtok(NULL, ", \r\n")) != NULL)
while ((p = ::strtok(nullptr, ", \r\n")) != nullptr)
p7.push_back(p);
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL && p6 != NULL) {
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr && p6 != nullptr) {
CTGDynRewriteStruct rewrite;
rewrite.m_slot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -462,8 +462,8 @@ bool CConf::read()
}
} else if (::strncmp(key, "IdRewrite", 9U) == 0) {
char* rfId = ::strtok(value, ", ");
char* netId = ::strtok(NULL, " \r\n");
if (rfId != NULL && netId != NULL) {
char* netId = ::strtok(nullptr, " \r\n");
if (rfId != nullptr && netId != nullptr) {
CIdRewriteStruct rewrite;
rewrite.m_rfId = ::atoi(rfId);
rewrite.m_netId = ::atoi(netId);
@@ -476,7 +476,7 @@ bool CConf::read()
unsigned int slotNo = (unsigned int)::atoi(value);
m_dmrNetwork1PassAllTG.push_back(slotNo);
}
} else if (section == SECTION_DMR_NETWORK_2) {
} else if (section == SECTION::DMR_NETWORK_2) {
if (::strcmp(key, "Enabled") == 0)
m_dmrNetwork2Enabled = ::atoi(value) == 1;
else if (::strcmp(key, "Name") == 0)
@@ -499,11 +499,11 @@ bool CConf::read()
m_dmrNetwork2Debug = ::atoi(value) == 1;
else if (::strncmp(key, "TGRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CTGRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -514,11 +514,11 @@ bool CConf::read()
}
} else if (::strncmp(key, "PCRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CPCRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -529,26 +529,26 @@ bool CConf::read()
}
} else if (::strncmp(key, "TypeRewrite", 11U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr) {
CTypeRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
rewrite.m_toSlot = ::atoi(p3);
rewrite.m_toId = ::atoi(p4);
char* p5 = ::strtok(NULL, " \r\n");
rewrite.m_range = p5 != NULL ? ::atoi(p5) : 1;
char* p5 = ::strtok(nullptr, " \r\n");
rewrite.m_range = p5 != nullptr ? ::atoi(p5) : 1;
m_dmrNetwork2TypeRewrites.push_back(rewrite);
}
} else if (::strncmp(key, "SrcRewrite", 10U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CSrcRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -560,15 +560,15 @@ bool CConf::read()
} else if (::strncmp(key, "TGDynRewrite", 12U) == 0) {
std::vector<char*> p7;
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, ", ");
char* p6 = ::strtok(NULL, ", \r\n");
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, ", ");
char* p6 = ::strtok(nullptr, ", \r\n");
char* p;
while ((p = ::strtok(NULL, ", \r\n")) != NULL)
while ((p = ::strtok(nullptr, ", \r\n")) != nullptr)
p7.push_back(p);
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL && p6 != NULL) {
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr && p6 != nullptr) {
CTGDynRewriteStruct rewrite;
rewrite.m_slot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -584,8 +584,8 @@ bool CConf::read()
}
} else if (::strncmp(key, "IdRewrite", 9U) == 0) {
char* rfId = ::strtok(value, ", ");
char* netId = ::strtok(NULL, " \r\n");
if (rfId != NULL && netId != NULL) {
char* netId = ::strtok(nullptr, " \r\n");
if (rfId != nullptr && netId != nullptr) {
CIdRewriteStruct rewrite;
rewrite.m_rfId = ::atoi(rfId);
rewrite.m_netId = ::atoi(netId);
@@ -598,7 +598,7 @@ bool CConf::read()
unsigned int slotNo = (unsigned int)::atoi(value);
m_dmrNetwork2PassAllTG.push_back(slotNo);
}
} else if (section == SECTION_DMR_NETWORK_3) {
} else if (section == SECTION::DMR_NETWORK_3) {
if (::strcmp(key, "Enabled") == 0)
m_dmrNetwork3Enabled = ::atoi(value) == 1;
else if (::strcmp(key, "Name") == 0)
@@ -621,11 +621,11 @@ bool CConf::read()
m_dmrNetwork3Debug = ::atoi(value) == 1;
else if (::strncmp(key, "TGRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CTGRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -636,11 +636,11 @@ bool CConf::read()
}
} else if (::strncmp(key, "PCRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CPCRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -651,26 +651,26 @@ bool CConf::read()
}
} else if (::strncmp(key, "TypeRewrite", 11U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr) {
CTypeRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
rewrite.m_toSlot = ::atoi(p3);
rewrite.m_toId = ::atoi(p4);
char* p5 = ::strtok(NULL, " \r\n");
rewrite.m_range = p5 != NULL ? ::atoi(p5) : 1;
char* p5 = ::strtok(nullptr, " \r\n");
rewrite.m_range = p5 != nullptr ? ::atoi(p5) : 1;
m_dmrNetwork3TypeRewrites.push_back(rewrite);
}
} else if (::strncmp(key, "SrcRewrite", 10U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CSrcRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -682,15 +682,15 @@ bool CConf::read()
} else if (::strncmp(key, "TGDynRewrite", 12U) == 0) {
std::vector<char*> p7;
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, ", ");
char* p6 = ::strtok(NULL, ", \r\n");
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, ", ");
char* p6 = ::strtok(nullptr, ", \r\n");
char* p;
while ((p = ::strtok(NULL, ", \r\n")) != NULL)
while ((p = ::strtok(nullptr, ", \r\n")) != nullptr)
p7.push_back(p);
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL && p6 != NULL) {
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr && p6 != nullptr) {
CTGDynRewriteStruct rewrite;
rewrite.m_slot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -706,8 +706,8 @@ bool CConf::read()
}
} else if (::strncmp(key, "IdRewrite", 9U) == 0) {
char* rfId = ::strtok(value, ", ");
char* netId = ::strtok(NULL, " \r\n");
if (rfId != NULL && netId != NULL) {
char* netId = ::strtok(nullptr, " \r\n");
if (rfId != nullptr && netId != nullptr) {
CIdRewriteStruct rewrite;
rewrite.m_rfId = ::atoi(rfId);
rewrite.m_netId = ::atoi(netId);
@@ -720,7 +720,7 @@ bool CConf::read()
unsigned int slotNo = (unsigned int)::atoi(value);
m_dmrNetwork3PassAllTG.push_back(slotNo);
}
} else if (section == SECTION_DMR_NETWORK_4) {
} else if (section == SECTION::DMR_NETWORK_4) {
if (::strcmp(key, "Enabled") == 0)
m_dmrNetwork4Enabled = ::atoi(value) == 1;
else if (::strcmp(key, "Name") == 0)
@@ -743,11 +743,11 @@ bool CConf::read()
m_dmrNetwork4Debug = ::atoi(value) == 1;
else if (::strncmp(key, "TGRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CTGRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -758,11 +758,11 @@ bool CConf::read()
}
} else if (::strncmp(key, "PCRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CPCRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -773,26 +773,26 @@ bool CConf::read()
}
} else if (::strncmp(key, "TypeRewrite", 11U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr) {
CTypeRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
rewrite.m_toSlot = ::atoi(p3);
rewrite.m_toId = ::atoi(p4);
char* p5 = ::strtok(NULL, " \r\n");
rewrite.m_range = p5 != NULL ? ::atoi(p5) : 1;
char* p5 = ::strtok(nullptr, " \r\n");
rewrite.m_range = p5 != nullptr ? ::atoi(p5) : 1;
m_dmrNetwork4TypeRewrites.push_back(rewrite);
}
} else if (::strncmp(key, "SrcRewrite", 10U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CSrcRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -804,15 +804,15 @@ bool CConf::read()
} else if (::strncmp(key, "TGDynRewrite", 12U) == 0) {
std::vector<char*> p7;
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, ", ");
char* p6 = ::strtok(NULL, ", \r\n");
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, ", ");
char* p6 = ::strtok(nullptr, ", \r\n");
char* p;
while ((p = ::strtok(NULL, ", \r\n")) != NULL)
while ((p = ::strtok(nullptr, ", \r\n")) != nullptr)
p7.push_back(p);
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL && p6 != NULL) {
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr && p6 != nullptr) {
CTGDynRewriteStruct rewrite;
rewrite.m_slot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -828,8 +828,8 @@ bool CConf::read()
}
} else if (::strncmp(key, "IdRewrite", 9U) == 0) {
char* rfId = ::strtok(value, ", ");
char* netId = ::strtok(NULL, " \r\n");
if (rfId != NULL && netId != NULL) {
char* netId = ::strtok(nullptr, " \r\n");
if (rfId != nullptr && netId != nullptr) {
CIdRewriteStruct rewrite;
rewrite.m_rfId = ::atoi(rfId);
rewrite.m_netId = ::atoi(netId);
@@ -842,7 +842,7 @@ bool CConf::read()
unsigned int slotNo = (unsigned int)::atoi(value);
m_dmrNetwork4PassAllTG.push_back(slotNo);
}
} else if (section == SECTION_DMR_NETWORK_5) {
} else if (section == SECTION::DMR_NETWORK_5) {
if (::strcmp(key, "Enabled") == 0)
m_dmrNetwork5Enabled = ::atoi(value) == 1;
else if (::strcmp(key, "Name") == 0)
@@ -865,11 +865,11 @@ bool CConf::read()
m_dmrNetwork5Debug = ::atoi(value) == 1;
else if (::strncmp(key, "TGRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CTGRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -880,11 +880,11 @@ bool CConf::read()
}
} else if (::strncmp(key, "PCRewrite", 9U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CPCRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -895,26 +895,26 @@ bool CConf::read()
}
} else if (::strncmp(key, "TypeRewrite", 11U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr) {
CTypeRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
rewrite.m_toSlot = ::atoi(p3);
rewrite.m_toId = ::atoi(p4);
char* p5 = ::strtok(NULL, " \r\n");
rewrite.m_range = p5 != NULL ? ::atoi(p5) : 1;
char* p5 = ::strtok(nullptr, " \r\n");
rewrite.m_range = p5 != nullptr ? ::atoi(p5) : 1;
m_dmrNetwork5TypeRewrites.push_back(rewrite);
}
} else if (::strncmp(key, "SrcRewrite", 10U) == 0) {
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, " \r\n");
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL) {
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, " \r\n");
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr) {
CSrcRewriteStruct rewrite;
rewrite.m_fromSlot = ::atoi(p1);
rewrite.m_fromId = ::atoi(p2);
@@ -926,15 +926,15 @@ bool CConf::read()
} else if (::strncmp(key, "TGDynRewrite", 12U) == 0) {
std::vector<char*> p7;
char* p1 = ::strtok(value, ", ");
char* p2 = ::strtok(NULL, ", ");
char* p3 = ::strtok(NULL, ", ");
char* p4 = ::strtok(NULL, ", ");
char* p5 = ::strtok(NULL, ", ");
char* p6 = ::strtok(NULL, ", \r\n");
char* p2 = ::strtok(nullptr, ", ");
char* p3 = ::strtok(nullptr, ", ");
char* p4 = ::strtok(nullptr, ", ");
char* p5 = ::strtok(nullptr, ", ");
char* p6 = ::strtok(nullptr, ", \r\n");
char* p;
while ((p = ::strtok(NULL, ", \r\n")) != NULL)
while ((p = ::strtok(nullptr, ", \r\n")) != nullptr)
p7.push_back(p);
if (p1 != NULL && p2 != NULL && p3 != NULL && p4 != NULL && p5 != NULL && p6 != NULL) {
if (p1 != nullptr && p2 != nullptr && p3 != nullptr && p4 != nullptr && p5 != nullptr && p6 != nullptr) {
CTGDynRewriteStruct rewrite;
rewrite.m_slot = ::atoi(p1);
rewrite.m_fromTG = ::atoi(p2);
@@ -950,8 +950,8 @@ bool CConf::read()
}
} else if (::strncmp(key, "IdRewrite", 9U) == 0) {
char* rfId = ::strtok(value, ", ");
char* netId = ::strtok(NULL, " \r\n");
if (rfId != NULL && netId != NULL) {
char* netId = ::strtok(nullptr, " \r\n");
if (rfId != nullptr && netId != nullptr) {
CIdRewriteStruct rewrite;
rewrite.m_rfId = ::atoi(rfId);
rewrite.m_netId = ::atoi(netId);
@@ -964,14 +964,14 @@ bool CConf::read()
unsigned int slotNo = (unsigned int)::atoi(value);
m_dmrNetwork5PassAllTG.push_back(slotNo);
}
} else if (section == SECTION_GPSD) {
} else if (section == SECTION::GPSD) {
if (::strcmp(key, "Enable") == 0)
m_gpsdEnabled = ::atoi(value) == 1;
else if (::strcmp(key, "Address") == 0)
m_gpsdAddress = value;
else if (::strcmp(key, "Port") == 0)
m_gpsdPort = value;
} else if (section == SECTION_APRS) {
} else if (section == SECTION::APRS) {
if (::strcmp(key, "Enable") == 0)
m_aprsEnabled = ::atoi(value) == 1;
else if (::strcmp(key, "Suffix") == 0)