modify for ledgerupdate
This commit is contained in:
@@ -14481,6 +14481,239 @@ apr_status_t init_rem_dib_table_one(ied_t *ied)
|
||||
}
|
||||
return APR_SUCCESS;
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////<2F><><EFBFBD><EFBFBD>ied
|
||||
void clearLogInfo(loginfo_t *loginfo) {
|
||||
if (loginfo == nullptr) {
|
||||
return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ<EFBFBD>գ<EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
memset(loginfo->logName, 0, sizeof(loginfo->logName));
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
|
||||
loginfo->IntgPd = 0;
|
||||
loginfo->reasonCode = 0;
|
||||
loginfo->TrgOpt = 0;
|
||||
loginfo->start_time = 0;
|
||||
loginfo->end_time = 0;
|
||||
loginfo->need_steady = 0;
|
||||
loginfo->need_voltage = 0;
|
||||
|
||||
// <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>
|
||||
if (loginfo->lcbName != nullptr) {
|
||||
memset(loginfo->lcbName, 0, strlen(loginfo->lcbName)); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
if (loginfo->datasetName != nullptr) {
|
||||
memset(loginfo->datasetName, 0, strlen(loginfo->datasetName)); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> LD_info <20><>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ָ<EFBFBD><D6B8><EFBFBD>ϼ<EFBFBD>
|
||||
}
|
||||
|
||||
void clearRptInfo(rptinfo_t *rptinfo) {
|
||||
if (rptinfo == nullptr) {
|
||||
return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ<EFBFBD>գ<EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
|
||||
memset(rptinfo->OptFlds, 0, sizeof(rptinfo->OptFlds));
|
||||
rptinfo->IntgPd = 0;
|
||||
rptinfo->report_PQ_type = 0;
|
||||
rptinfo->rpt_registered = 0;
|
||||
rptinfo->chnl_id = 0;
|
||||
rptinfo->m_LastDataTime = 0;
|
||||
rptinfo->m_LastGITime = 0;
|
||||
rptinfo->m_LastRegisterFailedTime = 0;
|
||||
rptinfo->m_LastUnRegisterFailedTime = 0;
|
||||
memset(rptinfo->m_EntryID, 0, sizeof(rptinfo->m_EntryID));
|
||||
rptinfo->m_curRptSuffix = 0;
|
||||
rptinfo->count = 0;
|
||||
rptinfo->rptNo = 0;
|
||||
rptinfo->flickerflag = 0;
|
||||
rptinfo->pstflag = 0;
|
||||
|
||||
// <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>
|
||||
if (rptinfo->rptID != nullptr) {
|
||||
memset(rptinfo->rptID, 0, strlen(rptinfo->rptID)); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> LD_info <20><>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
||||
//rptinfo->LD_info = nullptr;
|
||||
|
||||
// <20><> RCBC_INFO <20>ṹ<EFBFBD><E1B9B9>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>費<EFBFBD><E8B2BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
||||
if (rptinfo->m_rcb_info != nullptr) {
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>
|
||||
rptinfo->m_rcb_info = nullptr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ر<EFBFBD>ʱ<EFBFBD>ᱻ<EFBFBD><E1B1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
}
|
||||
|
||||
void clearLDInfo(LD_info_t *ld_info) {
|
||||
if (ld_info == nullptr) {
|
||||
std::cout << "ldinfo is null" << std::endl;
|
||||
return;
|
||||
}
|
||||
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
|
||||
if (ld_info->loginfo != nullptr) {
|
||||
for (int i = 0; i < ld_info->logcount; ++i) {
|
||||
if (ld_info->loginfo[i] != nullptr) {
|
||||
clearLogInfold_info->loginfo[i]); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD>ƿ<EFBFBD>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::cout << "clean loginfo_t!!!" << std::endl;
|
||||
|
||||
if (ld_info->autorecall != nullptr) {
|
||||
for (int i = 0; i < ld_info->autorecallcount; ++i) {
|
||||
if (ld_info->autorecall[i] != nullptr) {
|
||||
memset(ld_info->autorecall[i], 0, sizeof(autorecall_t));
|
||||
delete ld_info->autorecall[i]; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ؿռ<D8BF>
|
||||
}
|
||||
}
|
||||
delete ld_info->autorecall; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>
|
||||
}
|
||||
|
||||
std::cout << "clean autorecall_t!!!" << std::endl;
|
||||
|
||||
if (ld_info->rptinfo != nullptr) {
|
||||
for (int i = 0; i < ld_info->rptcount; ++i) {
|
||||
if (ld_info->rptinfo[i] != nullptr) {
|
||||
memset(ld_info->rptinfo[i], 0, sizeof(rptinfo_t));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
std::cout << "clean rptinfo_t!!!" << std::endl;
|
||||
|
||||
if (ld_info->ht_fcd != nullptr) {
|
||||
apr_hash_clear(ld_info->ht_fcd);
|
||||
}
|
||||
if (ld_info->ht_full_fcda != nullptr) {
|
||||
apr_hash_clear(ld_info->ht_full_fcda);
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
|
||||
if (ld_info->LD_name != nullptr) {
|
||||
memset(ld_info->LD_name, 0, sizeof(char) * 256);
|
||||
}
|
||||
if (ld_info->mp_id != nullptr) {
|
||||
memset(ld_info->mp_id, 0, sizeof(char) * 256);
|
||||
}
|
||||
if (ld_info->voltage_level != nullptr) {
|
||||
memset(ld_info->voltage_level, 0, sizeof(char) * 256);
|
||||
}
|
||||
if (ld_info->v_wiring_type != nullptr) {
|
||||
memset(ld_info->v_wiring_type, 0, sizeof(char) * 256);
|
||||
}
|
||||
if (ld_info->monitor_status != nullptr) {
|
||||
memset(ld_info->monitor_status, 0, sizeof(char) * 64);
|
||||
}
|
||||
if (ld_info->terminal_code != nullptr) {
|
||||
memset(ld_info->terminal_code, 0, sizeof(char) * 256);
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> LD_info_t <20>ṹ<EFBFBD><E1B9B9><EFBFBD>еķ<D0B5>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
|
||||
ld_info->rptcount = 0;
|
||||
ld_info->read_flag = 0;
|
||||
ld_info->logcount = 0;
|
||||
ld_info->autorecallflag = 0;
|
||||
ld_info->autorecallcount = 0;
|
||||
ld_info->line_id = 0;
|
||||
ld_info->real_data = 0;
|
||||
ld_info->soe_data = 0;
|
||||
ld_info->limit = 0;
|
||||
ld_info->count = 0;
|
||||
ld_info->SubV_Index = 0;
|
||||
ld_info->Dev_Index = 0;
|
||||
ld_info->Sub_Index = 0;
|
||||
ld_info->GD_Index = 0;
|
||||
ld_info->RDRE_FltNum = 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void clearIedUsr(ied_usr_t *ied_usr) {
|
||||
if (ied_usr == nullptr) {
|
||||
std::cout << "ied_usr is null" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> ied_usr_t <20>еķ<D0B5>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
|
||||
//ied_usr->dev_idx = 0;//<2F><><EFBFBD><EFBFBD>index
|
||||
ied_usr->dev_flag = UNUSED;
|
||||
ied_usr->last_call_wavelist_time = 0;
|
||||
ied_usr->time = 0;
|
||||
ied_usr->update_flag = 0;//<2F>ݲ<EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD>벿<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>ָ<EFBFBD><D6B8>
|
||||
if (ied_usr->LD_info != nullptr) {
|
||||
// <20><><EFBFBD><EFBFBD> LD_info <20><>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
for (int i = 0; i < MAX_CPUNO; ++i) {
|
||||
if (ied_usr->LD_info[i] != nullptr) {
|
||||
clearLDInfo(ied_usr->LD_info[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ied_usr->cookie != nullptr) {
|
||||
std::cout << "cookie not null" << std::endl;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
|
||||
memset(ied_usr->dev_type, 0, sizeof(ied_usr->dev_type));
|
||||
memset(ied_usr->dev_key, 0, sizeof(ied_usr->dev_key));
|
||||
memset(ied_usr->dev_series, 0, sizeof(ied_usr->dev_series));
|
||||
memset(ied_usr->terminal_id, 0, sizeof(ied_usr->terminal_id));
|
||||
memset(ied_usr->org_name, 0, sizeof(ied_usr->org_name));
|
||||
memset(ied_usr->maint_name, 0, sizeof(ied_usr->maint_name));
|
||||
memset(ied_usr->station_name, 0, sizeof(ied_usr->station_name));
|
||||
memset(ied_usr->tmnl_factory, 0, sizeof(ied_usr->tmnl_factory));
|
||||
memset(ied_usr->tmnl_status, 0, sizeof(ied_usr->tmnl_status));
|
||||
memset(ied_usr->terminal_code, 0, sizeof(ied_usr->terminal_code));
|
||||
}
|
||||
|
||||
void clearIed(ied_t *ied) {
|
||||
if (ied == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> channel <20><><EFBFBD><EFBFBD> chnl_usr_t <20><><EFBFBD><EFBFBD>
|
||||
if (ied->channel != nullptr && ied->channel[0].connect != nullptr) {
|
||||
chnl_usr_t *chnl_usr = (chnl_usr_t*)ied->channel[0].connect;
|
||||
memset(chnl_usr, 0, sizeof(chnl_usr_t));
|
||||
chnl_usr->chnl_id = 0;
|
||||
chnl_usr->m_state = CHANNEL_DISCONNECTED;
|
||||
chnl_usr->m_ClosedMsTime = NEXT_CONNECT_TIME * (-1);
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> ied_t <20>ṹ<EFBFBD><E1B9B9><EFBFBD>ķ<EFBFBD>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
|
||||
ied->id = 0;
|
||||
ied->flags = 0;
|
||||
ied->type = 0;
|
||||
ied->chncount = 0;
|
||||
ied->cpucount = 0;
|
||||
ied->station = 0;
|
||||
ied->node = 0;
|
||||
ied->frequency = 0;
|
||||
ied->delay = 0;
|
||||
ied->count = 0;
|
||||
ied->systoken_st = 0;
|
||||
ied->index = 0;
|
||||
ied->status = {0}; // <20><><EFBFBD><EFBFBD> status_t <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ied->last_ticks = 0;
|
||||
ied->last_gi = 0;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
|
||||
if (ied->usr_ext != nullptr) {
|
||||
ied_usr_t *ied_usr = (ied_usr_t*)ied->usr_ext;
|
||||
clearIedUsr(ied_usr);
|
||||
}
|
||||
memset(ied->name, 0, sizeof(ied->name));
|
||||
memset(ied->channel, 0, sizeof(ied->channel));
|
||||
memset(ied->cpuinfo, 0, sizeof(ied->cpuinfo)); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
/*<2A><>װC<D7B0>ɵ<EFBFBD><C9B5>õ<EFBFBD>̨<EFBFBD>˸<EFBFBD><CBB8>º<EFBFBD><C2BA><EFBFBD> */////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user