mirror of
https://github.com/g4klx/DMRGateway
synced 2025-12-23 23:05:38 +08:00
Merge branch 'master' into mqtt
This commit is contained in:
358
Conf.cpp
358
Conf.cpp
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user