Mod aaa-12 修改web_ineterface.c文件

RCA:
SOL:
修改人:chenpeng
检视人
This commit is contained in:
chenpeng 2019-10-28 16:55:44 +08:00
parent 1f24b1df75
commit 5336815c81
1 changed files with 24 additions and 22 deletions

View File

@ -37,7 +37,7 @@ char * interface_send_server(interface_ss *data_in){
//char* szOut = (char*)(sizeof(char));
char *out_string = cJSON_PrintUnformatted(json);
if(out_string == NULL) {goto end;}
int len = strlen(out_string);
int len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*len);
strcpy(szOut,out_string);
free(out_string);
@ -391,7 +391,7 @@ char *interface_send_web(interface_ws *data_in){
char * out_string = cJSON_PrintUnformatted(json);
if(out_string == NULL) {cJSON_Delete(json);goto end;}
int out_len = strlen(out_string);
int out_len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*out_len);
strcpy(szOut,out_string);
free(out_string);
@ -417,7 +417,7 @@ char *interface_vlan_send_server(interface_vlan_ss * data_in){
//char* szOut = (char*)(sizeof(char));
char *out_string = cJSON_PrintUnformatted(json);
if(out_string == NULL) {goto end;}
int len = strlen(out_string);
int len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*len);
strcpy(szOut,out_string);
free(out_string);
@ -510,7 +510,7 @@ char * interface_vlan_send_web(interface_vlan_ws *data_in){
char * out_string = cJSON_PrintUnformatted(json);
if(out_string == NULL) {goto end;}
int out_len = strlen(out_string);
int out_len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*out_len);
strcpy(szOut,out_string);
free(out_string);
@ -542,18 +542,20 @@ char * interface_conip_send_web(server *srv,interface_conip_ws *data_in){
cJSON_AddStringToObject(ArrayItem, "interface_type", data_in->data[i].interface_type);
cJSON_AddStringToObject(ArrayItem, "ifname",data_in->data[i].ifname );
cJSON *iptypeArray = cJSON_CreateArray(); //创建数组
for (int k = 0;k < data_in->data[i]._coniplen;k++){
cJSON *Arrayconip1 = cJSON_CreateObject(); //创建一个对象将对象
cJSON_AddNumberToObject(Arrayconip1, "family", data_in->data[i].condata[k].family);
cJSON_AddStringToObject(Arrayconip1, "ipaddr",data_in->data[i].condata[k].ipaddr);
cJSON_AddStringToObject(Arrayconip1, "prefixlen",data_in->data[i].condata[k].prefixlen);
cJSON_AddItemToArray(iptypeArray, Arrayconip1);//将该对象依次添加到数组里
cJSON *Arrayconip1 = cJSON_CreateObject(); //创建一个对象将对象
cJSON_AddNumberToObject(Arrayconip1, "family", data_in->data[i].condata[0].family);
cJSON_AddStringToObject(Arrayconip1, "ipaddr",data_in->data[i].condata[0].ipaddr);
cJSON_AddStringToObject(Arrayconip1, "prefixlen",data_in->data[i].condata[0].prefixlen);
cJSON_AddItemToArray(iptypeArray, Arrayconip1);//将该对象依次添加到数组里
}
cJSON *Arrayconip2 = cJSON_CreateObject(); //创建一个对象将对象
cJSON_AddNumberToObject(Arrayconip2, "family", data_in->data[i].condata[1].family);
cJSON_AddStringToObject(Arrayconip2, "ipaddr",data_in->data[i].condata[1].ipaddr);
cJSON_AddStringToObject(Arrayconip2, "prefixlen",data_in->data[i].condata[1].prefixlen);
cJSON_AddItemToArray(iptypeArray, Arrayconip2);//将该对象依次添加到数组里
//cJSON *Arrayconip2 = cJSON_CreateObject(); //创建一个对象将对象
//cJSON_AddNumberToObject(Arrayconip2, "family", data_in->data[i].condata[1].family);
//cJSON_AddStringToObject(Arrayconip2, "ipaddr",data_in->data[i].condata[1].ipaddr);
// cJSON_AddStringToObject(Arrayconip2, "prefixlen",data_in->data[i].condata[1].prefixlen);
//cJSON_AddItemToArray(iptypeArray, Arrayconip2);//将该对象依次添加到数组里
cJSON_AddItemToObject(ArrayItem, "ip_type", iptypeArray); //将数组添加到ArrayItem对象中
cJSON_AddItemToArray(JsonArray, ArrayItem);//将该对象依次添加到数组里
@ -563,7 +565,7 @@ char * interface_conip_send_web(server *srv,interface_conip_ws *data_in){
char * out_string = cJSON_PrintUnformatted(json);
if(out_string == NULL) {goto end;}
int out_len = strlen(out_string);
int out_len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*out_len);
strcpy(szOut,out_string);
free(out_string);
@ -591,7 +593,7 @@ char * interface_conipenable_send_web(interface_conipenable_ws *data_in){
char * out_string = cJSON_PrintUnformatted(json);
if(out_string == NULL) {goto end;}
int out_len = strlen(out_string);
int out_len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*out_len);
strcpy(szOut,out_string);
free(out_string);
@ -862,6 +864,7 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
else {log_error_write(srv, __FILE__, __LINE__, "s", "配置函数加载出错-CONIP");return NULL;}
free( json_data);
//printf("解析服务断数据: \n");
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
json_get_server = cJSON_Parse(mess_str);
@ -891,18 +894,18 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
websend_conip_data.data[k].interface_type = server_get_data.data[i].role;
websend_conip_data.data[k].ifname = server_get_data.data[i].ifname;
int coniplen =0;
if(!strcmp(v4protocol ,"static" ) ){
websend_conip_data.data[k].condata[coniplen].family = 2; //ipv4
websend_conip_data.data[k].condata[coniplen].ipaddr = server_get_data.data[i].ipv4_ipaddr;
websend_conip_data.data[k].condata[coniplen].prefixlen = server_get_data.data[i].ipv4_prefixlen;
coniplen++;
}
if(!strcmp(v6protocol ,"static" ) ){
websend_conip_data.data[k].condata[coniplen].family = 10; //ipv6
websend_conip_data.data[k].condata[coniplen].ipaddr = server_get_data.data[i].ipv6_data[0].ipv6_ipaddr;
websend_conip_data.data[k].condata[coniplen].prefixlen = server_get_data.data[i].ipv6_data[0].ipv6_prefixlen;
coniplen++;
}
websend_conip_data.data[k]._coniplen =coniplen;
k++;
}
@ -918,7 +921,6 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
cJSON_Delete(json_get_web); //
cJSON_Delete(json_get_server); //
return wout;
}
@ -995,7 +997,7 @@ char * interface_failure(void){
cJSON_AddStringToObject(json, "retcode", fai.retcode);
cJSON_AddStringToObject(json, "message",fai.message);
char *out_string = cJSON_PrintUnformatted(json);
int len = strlen(out_string);
int len = strlen(out_string)+1;
char* szOut = (char*)malloc(sizeof(char)*len);
strcpy(szOut,out_string);
free(out_string);