This commit is contained in:
lnk
2025-03-10 21:26:17 +08:00
parent 2e50baee04
commit 3347361203
6 changed files with 120 additions and 27 deletions

View File

@@ -1957,6 +1957,7 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
printf(">>>>>>>> extract_timestamp_from_cfg_file end \n");
if (ret2 ==APR_SUCCESS) {
//to find the paired qvvr by the time of trig_tm
printf(">>>>>>>> extract_timestamp_from_cfg_file success \n");
qvvr = find_qvvr_by_trig_tm(LD_info,trig_tm); //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>Ĵ<EFBFBD><C4B4><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ƥ<EFBFBD><C6A5><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>̬<EFBFBD>¼<EFBFBD>
if (qvvr) {
char* uuid_cfg = (char*)malloc(65 * sizeof(char));//<2F>ϴ<EFBFBD><CFB4>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
@@ -1965,8 +1966,8 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
char* filename_dat = (char*)malloc(100 * sizeof(char));
//lnk202411-5 <20><>¼web<65><62><EFBFBD>ص<EFBFBD>·<EFBFBD><C2B7>+<2B>ļ<EFBFBD><C4BC><EFBFBD>
char* wavepath_cfg = (char*)malloc(168 * sizeof(char));
char* wavepath_dat = (char*)malloc(168 * sizeof(char));
char* wavepath_cfg = (char*)malloc(256 * sizeof(char));
char* wavepath_dat = (char*)malloc(256 * sizeof(char));
/*<2A>ϴ<EFBFBD>.cfg<66><67>.dat<61><74><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>*/
char linux_cmd[256] = {0};
printf(">>>>>>>> qvvr ok end \n");
@@ -1991,7 +1992,26 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
}
//LNK20241031ʹ<31><CAB9>JSON<4F><4E><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ϴ<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>л<EFBFBD>ȡ
else if (FILE_FLAG == 4) {
SOEFileWeb(loc_file_fullname_cfg, oss_file_fullname_cfg, wavepath_cfg);
char mq_file_fullname_cfg[256]; // Զ<><D4B6><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
memset(mq_file_fullname_cfg, 0, sizeof(mq_file_fullname_cfg));
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĵĻ<C4B5><C4BB><EFBFBD><EFBFBD><EFBFBD>
char cfg_filename[128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD> 128
strncpy(cfg_filename, cfg_only_filename_ret, sizeof(cfg_filename) - 1);
cfg_filename[sizeof(cfg_filename) - 1] = '\0'; // ȷ<><C8B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD> '\0' <20><>β
// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> '.'<27><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>λ<EFBFBD><CEBB>
char *pos = strrchr(cfg_filename, '.');
if (pos != NULL) {
// <20>޸<EFBFBD><DEB8><EFBFBD>չ<EFBFBD><D5B9>Ϊ ".CFG"
strcpy(pos, ".CFG");
}
// ʹ<><CAB9><EFBFBD>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> apr_snprintf
apr_snprintf(mq_file_fullname_cfg, sizeof(mq_file_fullname_cfg), "comtrade/%s/%s",
LD_info->ied->channel[0].addr_str, cfg_filename);
SOEFileWeb(loc_file_fullname_cfg, mq_file_fullname_cfg, wavepath_cfg);
}
else
{
@@ -2020,7 +2040,26 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
}
//LNK20241031ʹ<31><CAB9>JSON<4F><4E><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ϴ<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>л<EFBFBD>ȡ
else if (FILE_FLAG == 4) {
SOEFileWeb(loc_file_fullname_dat, oss_file_fullname_dat, wavepath_dat);
char mq_file_fullname_dat[256]; // Զ<><D4B6><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
memset(mq_file_fullname_dat, 0, sizeof(mq_file_fullname_dat));
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĵĻ<C4B5><C4BB><EFBFBD><EFBFBD><EFBFBD>
char dat_filename[128]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD> 128
strncpy(dat_filename, cfg_only_filename_ret, sizeof(dat_filename) - 1);
dat_filename[sizeof(dat_filename) - 1] = '\0'; // ȷ<><C8B7><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD> '\0' <20><>β
// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> '.'<27><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>չ<EFBFBD><D5B9>λ<EFBFBD><CEBB>
char *pos = strrchr(dat_filename, '.');
if (pos != NULL) {
// <20>޸<EFBFBD><DEB8><EFBFBD>չ<EFBFBD><D5B9>Ϊ ".CFG"
strcpy(pos, ".CFG");
}
// ʹ<><CAB9><EFBFBD>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> apr_snprintf
apr_snprintf(mq_file_fullname_dat, sizeof(mq_file_fullname_dat), "comtrade/%s/%s",
LD_info->ied->channel[0].addr_str, dat_filename);
SOEFileWeb(loc_file_fullname_cfg, mq_file_fullname_dat, wavepath_cfg);
}
printf("\n>>>>>>!! %s %s...... \n", oss_file_fullname_dat, loc_file_fullname_dat);
/*<2A>ϴ<EFBFBD>.cfg<66><67>.dat<61><74><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>*/
@@ -2043,9 +2082,9 @@ apr_status_t call_cn_wavelist(LD_info_t *LD_info )
else if(FILE_FLAG==4)//lnk20241031<33><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬web<65><62>Ϣ
{
//<2F>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>䲿<EFBFBD>ֲ<EFBFBD><D6B2>޸<EFBFBD>
size_t cfg_len = strlen(wavepath_cfg);
size_t cfg_len = strlen(wavepath_cfg) + 1;
char* cfg_result = (char*)malloc(cfg_len * sizeof(char)); // <20><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B9BB><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
size_t dat_len = strlen(wavepath_dat);
size_t dat_len = strlen(wavepath_dat) + 1;
char* dat_result = (char*)malloc(dat_len * sizeof(char)); // <20><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B9BB><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
if (cfg_result != NULL && dat_result != NULL) {