优化内存泄漏问题
This commit is contained in:
parent
cdbf8bee6e
commit
3992d1a64e
@ -80,24 +80,15 @@ void CheckThread() {
|
||||
GlobalConfig::IpAddr_G = ipTemp;
|
||||
heart_count = 0;
|
||||
}
|
||||
#ifdef G2UL_GATEWAY
|
||||
if (checkNet0 == 5) {
|
||||
checkNet0 = 0;
|
||||
int iStatus = get_netlink_status("eth0");
|
||||
if (iStatus == 1 && GlobalConfig::net0Status == 0) {
|
||||
system("ifconfig eth0:1 192.168.188.188 netmask 255.255.255.0");
|
||||
}
|
||||
GlobalConfig::net0Status = iStatus;
|
||||
}
|
||||
#endif
|
||||
// if (7200 == time_check) { // 2h //校时暂时不测
|
||||
if (7200 == time_check) { // 2h //校时暂时不测
|
||||
time_check = 0;
|
||||
// char buf[256] = {0};
|
||||
// char buf2[256] = {0};
|
||||
// sprintf(buf, "{\"dataNodeGatewayNo\":\"%s\",\"cmd\":\"12\",\"status\":\"REQ\"}", GlobalConfig::MacAddr_G.c_str());
|
||||
// sprintf(buf2, "{\"dataWatchNo\":\"%s\",\"cmd\":\"12\",\"status\":\"REQ\"}", GlobalConfig::MacAddr_G.c_str());
|
||||
// std::string str = std::string(buf);
|
||||
// std::string str2 = std::string(buf2);
|
||||
// time_check = 0;
|
||||
//
|
||||
// int iRet = data_publish(str.c_str(), GlobalConfig::Topic_G.mPubTiming.c_str());
|
||||
// iRet = data_publish(str.c_str(), GlobalConfig::Topic_G.mPubCmd.c_str());
|
||||
// iRet = data_publish(str2.c_str(), GlobalConfig::Topic_G.mPubTiming.c_str());
|
||||
@ -180,7 +171,7 @@ void CheckThread() {
|
||||
// #endif
|
||||
// #endif
|
||||
// }
|
||||
// }
|
||||
}
|
||||
if (HardStatus == 3600) { // one hour 3600
|
||||
JsonData jd;
|
||||
std::string data = jd.JsonCmd_07();
|
||||
@ -378,9 +369,6 @@ void CheckThread() {
|
||||
loose_check++;
|
||||
ModifyAddr++;
|
||||
mqttresend++;
|
||||
#ifdef G2UL_GATEWAY
|
||||
checkNet0++;
|
||||
#endif
|
||||
#ifdef WIFI_MODULE
|
||||
wifi_reconnect_count++;
|
||||
#endif
|
||||
|
||||
@ -941,11 +941,9 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
|
||||
bytesRead = bytesRead + mlastSize;
|
||||
for (int i = 0; i < bytesRead; i++) {
|
||||
if (UartRecvBuf[i] == head[0]) {
|
||||
char buf[6] = {0x00};
|
||||
char buf[12] = {0x00};
|
||||
char ShortAddr[8] = {0x00};
|
||||
sprintf(&buf[0], "%02X", UartRecvBuf[i] & 0xFF);
|
||||
sprintf(&buf[2], "%02X", UartRecvBuf[i + 1] & 0xFF);
|
||||
sprintf(&buf[4], "%02X", UartRecvBuf[i + 2] & 0xFF);
|
||||
sprintf(buf, "%02X%02X%02X", UartRecvBuf[i] & 0xFF,UartRecvBuf[i + 1] & 0xFF,UartRecvBuf[i + 2] & 0xFF);
|
||||
sprintf(ShortAddr, "%02x%02x", UartRecvBuf[i + 3] & 0xFF, UartRecvBuf[i + 4] & 0xFF);
|
||||
std::string strShortAddr(ShortAddr);
|
||||
std::string strHeadFlag(buf);
|
||||
@ -1071,10 +1069,8 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
|
||||
continue;
|
||||
}
|
||||
} else if (UartRecvBuf[i] == head1[0]) {
|
||||
char buf[6] = {0x00};
|
||||
sprintf(&buf[0], "%02X", UartRecvBuf[i] & 0xFF);
|
||||
sprintf(&buf[2], "%02X", UartRecvBuf[i + 1] & 0xFF);
|
||||
sprintf(&buf[4], "%02X", UartRecvBuf[i + 2] & 0xFF);
|
||||
char buf[12] = {0x00};
|
||||
sprintf(buf, "%02X%02X%02X", UartRecvBuf[i] & 0xFF,UartRecvBuf[i + 1] & 0xFF,UartRecvBuf[i + 2] & 0xFF);
|
||||
std::string strHeadFlag(buf);
|
||||
if (0 == strHeadFlag.compare("ABBCCD")) {
|
||||
char buf[8] = {0x00};
|
||||
@ -1092,10 +1088,8 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
|
||||
}
|
||||
}
|
||||
} else if (UartRecvBuf[i] == head2[0]) {
|
||||
char buf[6] = {0x00};
|
||||
sprintf(&buf[0], "%02X", UartRecvBuf[i] & 0xFF);
|
||||
sprintf(&buf[2], "%02X", UartRecvBuf[i + 1] & 0xFF);
|
||||
sprintf(&buf[4], "%02X", UartRecvBuf[i + 2] & 0xFF);
|
||||
char buf[12] = {0x00};
|
||||
sprintf(buf, "%02X%02X%02X", UartRecvBuf[i] & 0xFF,UartRecvBuf[i + 1] & 0xFF,UartRecvBuf[i + 2] & 0xFF);
|
||||
std::string strHeadFlag(buf);
|
||||
if (0 == strHeadFlag.compare("DEDFEF")) {
|
||||
char buf[8] = {0x00};
|
||||
|
||||
@ -110,11 +110,17 @@ typedef struct {
|
||||
} SensorConfig;
|
||||
|
||||
// 下发任务
|
||||
typedef struct {
|
||||
typedef struct ScheduleTask_{
|
||||
uint8_t cmd;
|
||||
uint16_t shortAddr;
|
||||
uint16_t duration;
|
||||
uint32_t timeStamp;
|
||||
ScheduleTask_(){
|
||||
cmd = 0;
|
||||
shortAddr = 0;
|
||||
duration = 0;
|
||||
timeStamp = 0;
|
||||
}
|
||||
} ScheduleTask;
|
||||
|
||||
// 升级任务
|
||||
|
||||
@ -170,7 +170,7 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||
|
||||
int count2 = sqlite_db_ctrl::instance().GetTableRows(szTableNameData, whereCon);
|
||||
if (count > 0 || count2 > 0) {
|
||||
char logInfo[20] = {0x00};
|
||||
char logInfo[100] = {0x00};
|
||||
sprintf(logInfo, "ShortAddr = %s,staticIndex = %ld,staticData = %d, data = %d", strShortAddr.c_str(), staticIndex, count, count2);
|
||||
zlog_info(zct, logInfo);
|
||||
return;
|
||||
@ -747,9 +747,9 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||
zlog_info(zct, "dataNodeNo = '%s' and TimeStamp = '%s',MQTT ret = %d", strLongAddr.c_str(), nowTimetamp.c_str(), iRet);
|
||||
if (iRet != 0) {
|
||||
char updateSql[1024] = {0};
|
||||
memset(whereCon, 0, 64);
|
||||
memset(whereCon, 0, 1024);
|
||||
sprintf(whereCon, "dataNodeNo = '%s' and TimeStamp = '%s'", strLongAddr.c_str(), nowTimetamp.c_str());
|
||||
memcpy(updateSql, "sendMsg='0'", sizeof(updateSql));
|
||||
memcpy(updateSql, "sendMsg='0'", 11);
|
||||
sqlite_db_ctrl::instance().UpdateTableData(szTableNameStatic, updateSql, whereCon);
|
||||
sqlite_db_ctrl::instance().UpdateTableData(szTableNameData, updateSql, whereCon);
|
||||
}
|
||||
|
||||
@ -250,7 +250,7 @@ endUpdate:
|
||||
|
||||
int Uart::UpdateConfig(unsigned char* pDestShortAddr) {
|
||||
char whereCon[64] = {0};
|
||||
char selCon[100] = {0x00};
|
||||
char selCon[1024] = {0x00};
|
||||
sprintf(whereCon, "zigbeeShortAddr='%02x%02x'", pDestShortAddr[0], pDestShortAddr[1]);
|
||||
|
||||
vec_t vecResultNode = sqlite_db_ctrl::instance().GetDataSingleLine(T_SENSOR_INFO(TNAME), "*", whereCon);
|
||||
@ -379,9 +379,7 @@ int Uart::UpdateConfig(unsigned char* pDestShortAddr) {
|
||||
size_t bytesSize = strlen(vecResult[13].c_str()) / 2;
|
||||
unsigned char* bytes = (unsigned char*)malloc(bytesSize);
|
||||
|
||||
if (hexStringToBytes(vecResult[13].c_str(), bytes, bytesSize) != 0) {
|
||||
free(bytes);
|
||||
} else {
|
||||
if (hexStringToBytes(vecResult[13].c_str(), bytes, bytesSize) == 0) {
|
||||
UpdateData[60] = bytes[0];
|
||||
UpdateData[61] = bytes[1];
|
||||
UpdateData[62] = bytes[2];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user