diff --git a/dmentryjson.c b/dmentryjson.c index 50f28d33..96fde0d0 100644 --- a/dmentryjson.c +++ b/dmentryjson.c @@ -364,7 +364,7 @@ static int add_obj(char *refparam, struct dmctx *ctx, void *data, char **instanc dmuci_add_section_bbfdm(arg4, arg3, &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(section)); - *instance = update_instance(inst, 4, dmmap, buf_instance, arg4, arg3); + *instance = update_instance(inst, 2, dmmap, buf_instance); } } return 0; diff --git a/dmtree/tr064/upnp_configuration.c b/dmtree/tr064/upnp_configuration.c index c89401a6..a39bbdae 100755 --- a/dmtree/tr064/upnp_configuration.c +++ b/dmtree/tr064/upnp_configuration.c @@ -285,7 +285,7 @@ int upnp_configuration_ipinterface_createinstance(char *refparam, struct dmctx * dmuci_add_section("network", "interface", &iface_sec); dmuci_set_value("network", ip_name, "", "interface"); dmuci_set_value("network", ip_name, "proto", "dhcp"); - *instance = update_instance(iface_instance, 4, iface_sec, "upnp_ip_iface_instance", "network", "interface"); + *instance = update_instance(iface_instance, 2, iface_sec, "upnp_ip_iface_instance"); return 0; } diff --git a/dmtree/tr064/upnp_deviceinfo.c b/dmtree/tr064/upnp_deviceinfo.c index 713b1f2f..89769103 100755 --- a/dmtree/tr064/upnp_deviceinfo.c +++ b/dmtree/tr064/upnp_deviceinfo.c @@ -244,7 +244,7 @@ int upnp_deviceinfo_networkinterface_createinstance(char *refparam, struct dmctx dmuci_add_section("network", "interface", &iface_sec); dmuci_set_value("network", ip_name, "", "interface"); dmuci_set_value("network", ip_name, "proto", "dhcp"); - *instance = update_instance(iface_instance, 4, iface_sec, "upnp_iface_int_instance", "network", "interface"); + *instance = update_instance(iface_instance, 2, iface_sec, "upnp_iface_int_instance"); return 0; } diff --git a/dmtree/tr104/servicesvoiceservice.c b/dmtree/tr104/servicesvoiceservice.c index 20f0b859..255c41c5 100644 --- a/dmtree/tr104/servicesvoiceservice.c +++ b/dmtree/tr104/servicesvoiceservice.c @@ -127,7 +127,7 @@ static int addObjServicesVoiceServiceVoIPProfile(char *refparam, struct dmctx *c dmuci_add_section_bbfdm("dmmap_asterisk", "sip_service_provider", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "clientinstance", "dmmap_asterisk", "sip_service_provider"); + *instance = update_instance(inst, 2, dmmap, "clientinstance"); return 0; } @@ -174,7 +174,7 @@ static int addObjServicesVoiceServiceCodecProfile(char *refparam, struct dmctx * dmuci_add_section_bbfdm("dmmap_asterisk", "codec_profile", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "codecprofileinstance", "dmmap_asterisk", "codec_profile"); + *instance = update_instance(inst, 2, dmmap, "codecprofileinstance"); return 0; } diff --git a/dmtree/tr104/servicesvoiceservicecallcontrol.c b/dmtree/tr104/servicesvoiceservicecallcontrol.c index 6e6f7246..b7146f50 100644 --- a/dmtree/tr104/servicesvoiceservicecallcontrol.c +++ b/dmtree/tr104/servicesvoiceservicecallcontrol.c @@ -220,7 +220,7 @@ static int addObjServicesVoiceServiceCallControlCallingFeaturesSetSCREJ(char *re dmuci_add_section_bbfdm("dmmap_asterisk", "call_filter_rule_incoming", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "screjinstance", "dmmap_asterisk", "call_filter_rule_incoming"); + *instance = update_instance(inst, 2, dmmap, "screjinstance"); return 0; } diff --git a/dmtree/tr104/servicesvoiceservicesip.c b/dmtree/tr104/servicesvoiceservicesip.c index a4da208b..c981ac0e 100644 --- a/dmtree/tr104/servicesvoiceservicesip.c +++ b/dmtree/tr104/servicesvoiceservicesip.c @@ -119,7 +119,7 @@ static int addObjServicesVoiceServiceSIPClient(char *refparam, struct dmctx *ctx dmuci_add_section_bbfdm("dmmap_asterisk", "sip_service_provider", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", new_sec_name); - *instance = update_instance(inst, 4, dmmap, "clientinstance", "dmmap_asterisk", "sip_service_provider"); + *instance = update_instance(inst, 2, dmmap, "clientinstance"); return 0; } diff --git a/dmtree/tr181/atm.c b/dmtree/tr181/atm.c index 3ea9d29d..c5d2c2c3 100644 --- a/dmtree/tr181/atm.c +++ b/dmtree/tr181/atm.c @@ -251,7 +251,7 @@ static int add_atm_link(char *refparam, struct dmctx *ctx, void *data, char **in dmuci_add_section_bbfdm("dmmap_dsl", "atm-device", &dmmap_atm); dmuci_set_value_by_section(dmmap_atm, "section_name", atm_device); - *instancepara = update_instance(instance, 4, dmmap_atm, "atmlinkinstance", "dmmap_dsl", "atm-device"); + *instancepara = update_instance(instance, 2, dmmap_atm, "atmlinkinstance"); return 0; } diff --git a/dmtree/tr181/bridging.c b/dmtree/tr181/bridging.c index c0bbaa92..87dbd9e6 100644 --- a/dmtree/tr181/bridging.c +++ b/dmtree/tr181/bridging.c @@ -822,7 +822,7 @@ static int addObjBridgingBridge(char *refparam, struct dmctx *ctx, void *data, c dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_bridge); dmuci_set_value_by_section(dmmap_bridge, "section_name", bridge_name); dmuci_set_value_by_section(dmmap_bridge, "added_by_user", "1"); - *instance = update_instance(last_inst, 4, dmmap_bridge, "bridge_instance", "dmmap_network", "interface"); + *instance = update_instance(last_inst, 2, dmmap_bridge, "bridge_instance"); return 0; } diff --git a/dmtree/tr181/dhcpv4.c b/dmtree/tr181/dhcpv4.c index 35ece505..8d1b0625 100644 --- a/dmtree/tr181/dhcpv4.c +++ b/dmtree/tr181/dhcpv4.c @@ -167,7 +167,7 @@ static char *get_last_host_instance(char *package, char *section, char *dmmap_pa dmuci_add_section_bbfdm(dmmap_package, section, &dmmap_section); dmuci_set_value_by_section(dmmap_section, "section_name", section_name(s)); } - instance = update_instance(last_inst, 4, dmmap_section, opt_inst, dmmap_package, section); + instance = update_instance(last_inst, 2, dmmap_section, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(instance); @@ -370,7 +370,7 @@ static int addObjDHCPv4ServerPool(char *refparam, struct dmctx *ctx, void *data, dmuci_add_section_bbfdm("dmmap_dhcp", "dhcp", &dmmap_dhcp); dmuci_set_value_by_section(dmmap_dhcp, "section_name", dhcp_sname); - *instancepara = update_instance(instance, 4, dmmap_dhcp, "dhcp_instance", "dmmap_dhcp", "dhcp"); + *instancepara = update_instance(instance, 2, dmmap_dhcp, "dhcp_instance"); return 0; } @@ -435,7 +435,7 @@ static int addObjDHCPv4ServerPoolStaticAddress(char *refparam, struct dmctx *ctx dmuci_add_section_bbfdm("dmmap_dhcp", "host", &dmmap_dhcp_host); dmuci_set_value_by_section(dmmap_dhcp_host, "section_name", section_name(s)); dmuci_set_value_by_section(dmmap_dhcp_host, "dhcp", ((struct dhcp_args *)data)->interface); - *instancepara = update_instance(instance, 6, dmmap_dhcp_host, "dhcp_host_instance", "dmmap_dhcp", "host", check_browse_section, (void *)&browse_args); + *instancepara = update_instance(instance, 5, dmmap_dhcp_host, "dhcp_host_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -484,7 +484,7 @@ static int addObjDHCPv4Client(char *refparam, struct dmctx *ctx, void *data, cha dmuci_add_section_bbfdm("dmmap_dhcp_client", "interface", &dmmap_sect); dmuci_set_value_by_section(dmmap_sect, "section_name", section_name(s)); - *instance = update_instance(inst_para, 4, dmmap_sect, "bbf_dhcpv4client_instance", "dmmap_dhcp_client", "interface"); + *instance = update_instance(inst_para, 2, dmmap_sect, "bbf_dhcpv4client_instance"); return 0; } @@ -580,7 +580,7 @@ static int addObjDHCPv4ClientSentOption(char *refparam, struct dmctx *ctx, void browse_args.option = "section_name"; browse_args.value = section_name(dhcp_client_args->dhcp_client_conf); - *instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv4_sentopt_instance", "dmmap_dhcp_client", "send_option", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv4_sentopt_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -627,7 +627,7 @@ static int addObjDHCPv4ClientReqOption(char *refparam, struct dmctx *ctx, void * browse_args.option = "section_name"; browse_args.value = section_name(dhcp_client_args->dhcp_client_conf); - *instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv4_sentopt_instance", "dmmap_dhcp_client", "req_option", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv4_sentopt_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -672,7 +672,7 @@ static int addObjDHCPv4ServerPoolOption(char *refparam, struct dmctx *ctx, void browse_args.option = "section_name"; browse_args.value = section_name(dhcp_arg->dhcp_sec); - *instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv4_servpool_option_instance", "dmmap_dhcp", "servpool_option", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv4_servpool_option_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -714,7 +714,7 @@ static int addObjDHCPv4RelayForwarding(char *refparam, struct dmctx *ctx, void * dmuci_add_section_bbfdm("dmmap_dhcp_relay", "interface", &dmmap_sect); dmuci_set_value_by_section(dmmap_sect, "section_name", section_name(s)); - *instance = update_instance(inst_para, 4, dmmap_sect, "bbf_dhcpv4relay_instance", "dmmap_dhcp_relay", "interface"); + *instance = update_instance(inst_para, 2, dmmap_sect, "bbf_dhcpv4relay_instance"); return 0; } diff --git a/dmtree/tr181/dhcpv6.c b/dmtree/tr181/dhcpv6.c index fda985d7..4fdd0f30 100644 --- a/dmtree/tr181/dhcpv6.c +++ b/dmtree/tr181/dhcpv6.c @@ -316,7 +316,7 @@ static int addObjDHCPv6Client(char *refparam, struct dmctx *ctx, void *data, cha dmuci_add_section_bbfdm("dmmap_dhcpv6", "interface", &dmmap_sect); dmuci_set_value_by_section(dmmap_sect, "section_name", section_name(s)); - *instance = update_instance(inst_para, 4, dmmap_sect, "bbf_dhcpv6client_instance", "dmmap_dhcpv6", "interface"); + *instance = update_instance(inst_para, 2, dmmap_sect, "bbf_dhcpv6client_instance"); return 0; } @@ -380,7 +380,7 @@ static int addObjDHCPv6ServerPool(char *refparam, struct dmctx *ctx, void *data, dmuci_add_section_bbfdm("dmmap_dhcpv6", "dhcp", &dmmap_dhcp); dmuci_set_value_by_section(dmmap_dhcp, "section_name", section_name(s)); - *instance = update_instance(inst_para, 4, dmmap_dhcp, "dhcpv6_serv_pool_instance", "dmmap_dhcpv6", "dhcp"); + *instance = update_instance(inst_para, 2, dmmap_dhcp, "dhcpv6_serv_pool_instance"); return 0; } @@ -444,7 +444,7 @@ static int addObjDHCPv6ServerPoolOption(char *refparam, struct dmctx *ctx, void browse_args.option = "section_name"; browse_args.value = section_name(dhcp_arg->dhcp_sec); - *instance = update_instance(inst_para, 6, dmmap_sect, "bbf_dhcpv6_servpool_option_instance", "dmmap_dhcpv6", "servpool_option", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst_para, 5, dmmap_sect, "bbf_dhcpv6_servpool_option_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } diff --git a/dmtree/tr181/dns.c b/dmtree/tr181/dns.c index e14fd881..19c78acc 100644 --- a/dmtree/tr181/dns.c +++ b/dmtree/tr181/dns.c @@ -164,7 +164,7 @@ static int add_client_server(char *refparam, struct dmctx *ctx, void *data, char dmuci_set_value_by_section(s, "interface", "lan"); dmuci_set_value_by_section(s, "enable", "1"); - *instance = update_instance(inst, 4, s, "dns_server_instance", "dmmap_dns", "dns_server"); + *instance = update_instance(inst, 2, s, "dns_server_instance"); return 0; } @@ -180,7 +180,7 @@ static int add_relay_forwarding(char *refparam, struct dmctx *ctx, void *data, c dmuci_set_value_by_section(s, "interface", "lan"); dmuci_set_value_by_section(s, "enable", "1"); - *instance = update_instance(inst, 4, s, "dns_server_instance", "dmmap_dns", "dns_server"); + *instance = update_instance(inst, 2, s, "dns_server_instance"); return 0; } diff --git a/dmtree/tr181/dynamicdns.c b/dmtree/tr181/dynamicdns.c index 7bad9203..64ed61ab 100644 --- a/dmtree/tr181/dynamicdns.c +++ b/dmtree/tr181/dynamicdns.c @@ -174,7 +174,7 @@ static int addObjDynamicDNSClient(char *refparam, struct dmctx *ctx, void *data, dmuci_add_section_bbfdm("dmmap_ddns", "service", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(last_inst, 4, dmmap, "clientinstance", "dmmap_ddns", "service"); + *instance = update_instance(last_inst, 2, dmmap, "clientinstance"); return 0; } @@ -236,7 +236,7 @@ static int addObjDynamicDNSServer(char *refparam, struct dmctx *ctx, void *data, dmuci_add_section_bbfdm("dmmap_ddns", "ddns_server", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(last_inst, 4, dmmap, "serverinstance", "dmmap_ddns", "ddns_server"); + *instance = update_instance(last_inst, 2, dmmap, "serverinstance"); return 0; } diff --git a/dmtree/tr181/ethernet.c b/dmtree/tr181/ethernet.c index 4276f2c4..faf7e0f1 100644 --- a/dmtree/tr181/ethernet.c +++ b/dmtree/tr181/ethernet.c @@ -206,7 +206,7 @@ static char *get_vlan_last_instance_bbfdm(char *package, char *section, char *op dmuci_set_value_by_section(s, "vlan_term_instance", ""); continue; } - inst = update_instance(last_inst, 4, s, opt_inst, package, section); + inst = update_instance(last_inst, 2, s, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(inst); @@ -349,7 +349,7 @@ static int addObjEthernetLink(char *refparam, struct dmctx *ctx, void *data, cha /* Add link section in dmmap file */ dmuci_add_section_bbfdm(DMMAP, "link", &dmmap_link); dmuci_set_value_by_section(dmmap_link, "section_name", interface_name); - *instance = update_instance(inst, 4, dmmap_link, "link_instance", "dmmap", "link"); + *instance = update_instance(inst, 2, dmmap_link, "link_instance"); return 0; } @@ -412,7 +412,7 @@ static int addObjEthernetVLANTermination(char *refparam, struct dmctx *ctx, void // Add device section in dmmap_network file dmuci_add_section_bbfdm("dmmap_network", "device", &dmmap_network); dmuci_set_value_by_section(dmmap_network, "section_name", device_name); - *instance = update_instance(inst, 4, dmmap_network, "vlan_term_instance", "dmmap_network", "device"); + *instance = update_instance(inst, 2, dmmap_network, "vlan_term_instance"); return 0; } diff --git a/dmtree/tr181/firewall.c b/dmtree/tr181/firewall.c index ff82ebd2..f7843c59 100644 --- a/dmtree/tr181/firewall.c +++ b/dmtree/tr181/firewall.c @@ -74,7 +74,7 @@ static int add_firewall_rule(char *refparam, struct dmctx *ctx, void *data, char dmuci_add_section_bbfdm("dmmap_firewall", "rule", &dmmap_firewall_rule); dmuci_set_value_by_section(dmmap_firewall_rule, "section_name", section_name(s)); - *instance = update_instance(last_inst, 4, dmmap_firewall_rule, "firewall_chain_rule_instance", "dmmap_firewall", "rule"); + *instance = update_instance(last_inst, 2, dmmap_firewall_rule, "firewall_chain_rule_instance"); return 0; } diff --git a/dmtree/tr181/gre.c b/dmtree/tr181/gre.c index 9bcd365c..d273df45 100644 --- a/dmtree/tr181/gre.c +++ b/dmtree/tr181/gre.c @@ -87,7 +87,7 @@ static int addObjGRETunnel(char *refparam, struct dmctx *ctx, void *data, char * dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_sec); dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(gre_sec)); - *instancepara = update_instance(instance, 4, dmmap_sec, "gretunnel_instance", "dmmap_network", "interface"); + *instancepara = update_instance(instance, 2, dmmap_sec, "gretunnel_instance"); return 0; } @@ -152,7 +152,7 @@ static int addObjGRETunnelInterface(char *refparam, struct dmctx *ctx, void *dat dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_sec); dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(greiface_sec)); dmuci_set_value_by_section(dmmap_sec, "gre_tunnel_sect", section_name(((struct dmmap_dup *)data)->config_section)); - *instancepara = update_instance(instance, 6, dmmap_sec, "greiface_instance", "dmmap_network", "interface", check_browse_section, (void *)&browse_args); + *instancepara = update_instance(instance, 5, dmmap_sec, "greiface_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } diff --git a/dmtree/tr181/ieee1905.c b/dmtree/tr181/ieee1905.c index 3d38b597..385d5401 100644 --- a/dmtree/tr181/ieee1905.c +++ b/dmtree/tr181/ieee1905.c @@ -299,7 +299,7 @@ static int addObjIEEE1905ALForwardingTableForwardingRule(char *refparam, struct dmuci_add_section_bbfdm("dmmap_forwarding_rule", "forwarding_rule", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "forwardingruleinstance", "dmmap_forwarding_rule", "forwarding_rule"); + *instance = update_instance(inst, 2, dmmap, "forwardingruleinstance"); return 0; } diff --git a/dmtree/tr181/ip.c b/dmtree/tr181/ip.c index cf9e5576..8378e2e0 100644 --- a/dmtree/tr181/ip.c +++ b/dmtree/tr181/ip.c @@ -268,7 +268,7 @@ static char *get_ip_interface_last_instance(char *package, char *section, char* dmuci_add_section_bbfdm(dmmap_package, section, &dmmap_section); dmuci_set_value_by_section(dmmap_section, "section_name", section_name(s)); } - instance = update_instance(last_inst, 4, dmmap_section, opt_inst, dmmap_package, section); + instance = update_instance(last_inst, 2, dmmap_section, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(instance); @@ -708,7 +708,7 @@ static int addObjIPInterface(char *refparam, struct dmctx *ctx, void *data, char dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_ip_interface); dmuci_set_value_by_section(dmmap_ip_interface, "section_name", ip_name); - *instance = update_instance(last_inst, 4, dmmap_ip_interface, "ip_int_instance", "dmmap_network", "interface"); + *instance = update_instance(last_inst, 2, dmmap_ip_interface, "ip_int_instance"); return 0; } @@ -777,7 +777,7 @@ static int addObjIPInterfaceIPv4Address(char *refparam, struct dmctx *ctx, void dmuci_set_value_by_section(dmmap_ip_interface_ipv4, "section_name", last_inst ? ipv4_name : section_name((struct uci_section *)data)); dmuci_set_value_by_section(dmmap_ip_interface_ipv4, "address", "0.0.0.0"); - *instance = update_instance(last_inst, 6, dmmap_ip_interface_ipv4, "ipv4_instance", "dmmap_network_ipv4", "intf_ipv4", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_ip_interface_ipv4, "ipv4_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -865,7 +865,7 @@ static int addObjIPInterfaceIPv6Address(char *refparam, struct dmctx *ctx, void dmuci_set_value_by_section(dmmap_ip_interface_ipv6, "section_name", ipv6_name); dmuci_set_value_by_section(dmmap_ip_interface_ipv6, "address", "::"); - *instance = update_instance(last_inst, 6, dmmap_ip_interface_ipv6, "ipv6_instance", "dmmap_network_ipv6", "intf_ipv6", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_ip_interface_ipv6, "ipv6_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -951,7 +951,7 @@ static int addObjIPInterfaceIPv6Prefix(char *refparam, struct dmctx *ctx, void * dmuci_set_value_by_section(dmmap_ip_interface_ipv6_prefix, "section_name", ipv6_prefix_name); dmuci_set_value_by_section(dmmap_ip_interface_ipv6_prefix, "address", "::/64"); - *instance = update_instance(last_inst, 6, dmmap_ip_interface_ipv6_prefix, "ipv6_prefix_instance", "dmmap_network_ipv6_prefix", "intf_ipv6_prefix", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_ip_interface_ipv6_prefix, "ipv6_prefix_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } diff --git a/dmtree/tr181/nat.c b/dmtree/tr181/nat.c index 8fcd9267..3ea8e61d 100644 --- a/dmtree/tr181/nat.c +++ b/dmtree/tr181/nat.c @@ -33,7 +33,7 @@ static int add_NAT_InterfaceSetting(char *refparam, struct dmctx *ctx, void *dat dmuci_add_section_bbfdm("dmmap_firewall", "zone", &dmmap_firewall); dmuci_set_value_by_section(dmmap_firewall, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap_firewall, "interface_setting_instance", "dmmap_firewall", "zone"); + *instance = update_instance(inst, 2, dmmap_firewall, "interface_setting_instance"); return 0; } @@ -87,7 +87,7 @@ static int add_NAT_PortMapping(char *refparam, struct dmctx *ctx, void *data, ch dmuci_add_section_bbfdm("dmmap_firewall", "redirect", &dmmap_firewall); dmuci_set_value_by_section(dmmap_firewall, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap_firewall, "port_mapping_instance", "dmmap_firewall", "redirect"); + *instance = update_instance(inst, 2, dmmap_firewall, "port_mapping_instance"); return 0; } diff --git a/dmtree/tr181/ppp.c b/dmtree/tr181/ppp.c index e0370d28..9cee755c 100644 --- a/dmtree/tr181/ppp.c +++ b/dmtree/tr181/ppp.c @@ -413,7 +413,7 @@ static int add_ppp_interface(char *refparam, struct dmctx *ctx, void *data, char dmuci_add_section_bbfdm("dmmap_network", "interface", &dmmap_ppp); dmuci_set_value_by_section(dmmap_ppp, "section_name", name); - *instance = update_instance(inst, 4, dmmap_ppp, "ppp_int_instance", "dmmap_network", "interface"); + *instance = update_instance(inst, 2, dmmap_ppp, "ppp_int_instance"); return 0; } diff --git a/dmtree/tr181/ptm.c b/dmtree/tr181/ptm.c index 486dcd78..198ad87c 100644 --- a/dmtree/tr181/ptm.c +++ b/dmtree/tr181/ptm.c @@ -145,7 +145,7 @@ static int add_ptm_link(char *refparam, struct dmctx *ctx, void *data, char **in dmuci_add_section_bbfdm("dmmap_dsl", "ptm-device", &dmmap_ptm); dmuci_set_value_by_section(dmmap_ptm, "section_name", ptm_device); - *instancepara = update_instance(instance, 4, dmmap_ptm, "ptmlinkinstance", "dmmap_dsl", "ptm-device"); + *instancepara = update_instance(instance, 2, dmmap_ptm, "ptmlinkinstance"); return 0; } diff --git a/dmtree/tr181/qos-iopsyswrt.c b/dmtree/tr181/qos-iopsyswrt.c index df0eb5a7..efd1870f 100644 --- a/dmtree/tr181/qos-iopsyswrt.c +++ b/dmtree/tr181/qos-iopsyswrt.c @@ -175,7 +175,7 @@ int os_addObjQoSClassification(char *refparam, struct dmctx *ctx, void *data, ch dmuci_add_section_bbfdm("dmmap_qos", "classify", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "classify_instance", "dmmap_qos", "classify"); + *instance = update_instance(inst, 2, dmmap, "classify_instance"); return 0; } @@ -295,7 +295,7 @@ int os_addObjQoSPolicer(char *refparam, struct dmctx *ctx, void *data, char **in dmuci_add_section_bbfdm("dmmap_qos", "policer", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "policer_instance", "dmmap_qos", "policer"); + *instance = update_instance(inst, 2, dmmap, "policer_instance"); return 0; } @@ -375,7 +375,7 @@ int os_addObjQoSQueue(char *refparam, struct dmctx *ctx, void *data, char **inst dmuci_add_section_bbfdm("dmmap_qos", "queue", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "queueinstance", "dmmap_qos", "queue"); + *instance = update_instance(inst, 2, dmmap, "queueinstance"); return 0; } @@ -452,7 +452,7 @@ int os_addObjQoSShaper(char *refparam, struct dmctx *ctx, void *data, char **ins dmuci_add_section_bbfdm("dmmap_qos", "shaper", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap, "shaperinstance", "dmmap_qos", "shaper"); + *instance = update_instance(inst, 2, dmmap, "shaperinstance"); return 0; } diff --git a/dmtree/tr181/qos-openwrt.c b/dmtree/tr181/qos-openwrt.c index f76e70fa..17986bce 100644 --- a/dmtree/tr181/qos-openwrt.c +++ b/dmtree/tr181/qos-openwrt.c @@ -190,7 +190,7 @@ int os_addObjQoSClassification(char *refparam, struct dmctx *ctx, void *data, ch dmuci_add_section_bbfdm("dmmap_qos", "classify", &dmmap_qos_classify); dmuci_set_value_by_section(dmmap_qos_classify, "section_name", section_name(s)); - *instance = update_instance(last_inst, 4, dmmap_qos_classify, "classifinstance", "dmmap_qos", "classify"); + *instance = update_instance(last_inst, 2, dmmap_qos_classify, "classifinstance"); return 0; } @@ -307,7 +307,7 @@ int os_addObjQoSQueue(char *refparam, struct dmctx *ctx, void *data, char **inst dmuci_add_section_bbfdm("dmmap_qos", "class", &dmmap_qos_class); dmuci_set_value_by_section(dmmap_qos_class, "section_name", sect_name); - *instance = update_instance(last_inst, 4, dmmap_qos_class, "queueinstance", "dmmap_qos", "class"); + *instance = update_instance(last_inst, 2, dmmap_qos_class, "queueinstance"); return 0; } @@ -398,7 +398,7 @@ int addObjQoSShaper(char *refparam, struct dmctx *ctx, void *data, char **instan dmuci_add_section_bbfdm("dmmap_qos", "class", &dmmap_qos_class); dmuci_set_value_by_section(dmmap_qos_class, "section_name", section_name(s)); - *instance = update_instance(last_inst, 4, dmmap_qos_class, "shaperinstance", "dmmap_qos", "class"); + *instance = update_instance(last_inst, 2, dmmap_qos_class, "shaperinstance"); return 0; } diff --git a/dmtree/tr181/routing.c b/dmtree/tr181/routing.c index d3e27d2c..ddd466c9 100644 --- a/dmtree/tr181/routing.c +++ b/dmtree/tr181/routing.c @@ -1109,7 +1109,7 @@ static int add_ipv4forwarding(char *refparam, struct dmctx *ctx, void *data, cha dmuci_add_section_bbfdm("dmmap_route_forwarding", "route", &dmmap_route); dmuci_set_value_by_section(dmmap_route, "section_name", section_name(s)); - *instancepara = update_instance(instance, 4, dmmap_route, "routeinstance", "dmmap_route_forwarding", "route"); + *instancepara = update_instance(instance, 2, dmmap_route, "routeinstance"); return 0; } @@ -1146,7 +1146,7 @@ static int add_ipv6Forwarding(char *refparam, struct dmctx *ctx, void *data, cha dmuci_add_section_bbfdm("dmmap_route_forwarding", "route6", &dmmap_route); dmuci_set_value_by_section(dmmap_route, "section_name", section_name(s)); - *instancepara = update_instance(instance, 4, dmmap_route, "route6instance", "dmmap_route_forwarding", "route6"); + *instancepara = update_instance(instance, 2, dmmap_route, "route6instance"); return 0; } diff --git a/dmtree/tr181/users.c b/dmtree/tr181/users.c index 5837412a..1046dbbc 100644 --- a/dmtree/tr181/users.c +++ b/dmtree/tr181/users.c @@ -47,7 +47,7 @@ static int add_users_user(char *refparam, struct dmctx *ctx, void *data, char ** dmuci_add_section_bbfdm("dmmap_users", "user", &dmmap_user); dmuci_set_value_by_section(dmmap_user, "section_name", username); - *instance = update_instance(last_inst, 4, dmmap_user, "user_instance", "dmmap_users", "user"); + *instance = update_instance(last_inst, 2, dmmap_user, "user_instance"); return 0; } diff --git a/dmtree/tr181/wifi.c b/dmtree/tr181/wifi.c index 358b933d..bfb2043b 100644 --- a/dmtree/tr181/wifi.c +++ b/dmtree/tr181/wifi.c @@ -1838,7 +1838,7 @@ static int add_wifi_ssid(char *refparam, struct dmctx *ctx, void *data, char **i dmuci_add_section_bbfdm("dmmap_wireless", "wifi-iface", &dmmap_wifi); dmuci_set_value_by_section(dmmap_wifi, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap_wifi, "ssidinstance", "dmmap_wireless", "wifi-iface"); + *instance = update_instance(inst, 2, dmmap_wifi, "ssidinstance"); return 0; } @@ -1889,7 +1889,7 @@ static int add_wifi_accesspoint(char *refparam, struct dmctx *ctx, void *data, c dmuci_add_section_bbfdm("dmmap_wireless", "wifi-iface", &dmmap_wifi); dmuci_set_value_by_section(dmmap_wifi, "section_name", section_name(s)); - *instance = update_instance(inst, 4, dmmap_wifi, "ap_instance", "dmmap_wireless", "wifi-iface"); + *instance = update_instance(inst, 2, dmmap_wifi, "ap_instance"); return 0; } @@ -1940,7 +1940,7 @@ static int addObjWiFiEndPoint(char *refparam, struct dmctx *ctx, void *data, cha dmuci_add_section_bbfdm("dmmap_wireless", "wifi-iface", &dmmap_sec); dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(endpoint_sec)); - *instance = update_instance(instancepara, 4, dmmap_sec, "endpointinstance", "dmmap_wireless", "wifi-iface"); + *instance = update_instance(instancepara, 2, dmmap_sec, "endpointinstance"); return 0; } diff --git a/dmtree/tr181/x_iopsys_eu_dropbear.c b/dmtree/tr181/x_iopsys_eu_dropbear.c index dccabf29..3ff0992f 100644 --- a/dmtree/tr181/x_iopsys_eu_dropbear.c +++ b/dmtree/tr181/x_iopsys_eu_dropbear.c @@ -340,7 +340,7 @@ int add_dropbear_instance(char *refparam, struct dmctx *ctx, void *data, char ** dmuci_add_section_bbfdm("dmmap_dropbear", "dropbear", &dmmap_sec); dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(dropbear_sec)); - *instancepara = update_instance(instance, 4, dmmap_sec, "dropbearinstance", "dmmap_dropbear", "dropbear"); + *instancepara = update_instance(instance, 2, dmmap_sec, "dropbearinstance"); return 0; } diff --git a/dmtree/tr181/x_iopsys_eu_igmp.c b/dmtree/tr181/x_iopsys_eu_igmp.c index 9811b7cd..c1dfff4e 100644 --- a/dmtree/tr181/x_iopsys_eu_igmp.c +++ b/dmtree/tr181/x_iopsys_eu_igmp.c @@ -285,7 +285,7 @@ static int add_igmp_proxy_obj(char *refparam, struct dmctx *ctx, void *data, cha dmuci_add_section_bbfdm("dmmap_mcast", "proxy", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", s_name); dmuci_set_value_by_section(dmmap, "proto", "igmp"); - *instance = update_instance(inst, 6, dmmap, "proxy_instance", "dmmap_mcast", "proxy", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst, 5, dmmap, "proxy_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -383,7 +383,7 @@ static int add_igmp_snooping_obj(char *refparam, struct dmctx *ctx, void *data, dmuci_add_section_bbfdm("dmmap_mcast", "snooping", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", s_name); dmuci_set_value_by_section(dmmap, "proto", "igmp"); - *instance = update_instance(inst, 6, dmmap, "snooping_instance", "dmmap_mcast", "snooping", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst, 5, dmmap, "snooping_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -515,7 +515,7 @@ static int add_igmps_filter_obj(char *refparam, struct dmctx *ctx, void *data, c browse_args.option = "section_name"; browse_args.value = section_name((struct uci_section *)data); - *instance = update_instance(last_inst, 6, dmmap_igmps_filter, "filter_instance", "dmmap_mcast", "snooping_filter", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_igmps_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -951,7 +951,7 @@ static int add_igmpp_interface_obj(char *refparam, struct dmctx *ctx, void *data browse_args.option = "section_name"; browse_args.value = section_name((struct uci_section *)data); - *instance = update_instance(last_inst, 6, dmmap_igmpp_interface, "iface_instance", "dmmap_mcast", "proxy_interface", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_igmpp_interface, "iface_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -1090,7 +1090,7 @@ static int add_igmpp_filter_obj(char *refparam, struct dmctx *ctx, void *data, c browse_args.option = "section_name"; browse_args.value = section_name((struct uci_section *)data); - *instance = update_instance(last_inst, 6, dmmap_igmpp_filter, "filter_instance", "dmmap_mcast", "proxy_filter", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_igmpp_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } diff --git a/dmtree/tr181/x_iopsys_eu_mld.c b/dmtree/tr181/x_iopsys_eu_mld.c index 2a98fd34..0323afca 100644 --- a/dmtree/tr181/x_iopsys_eu_mld.c +++ b/dmtree/tr181/x_iopsys_eu_mld.c @@ -36,7 +36,7 @@ static int add_mld_proxy_obj(char *refparam, struct dmctx *ctx, void *data, char dmuci_add_section_bbfdm("dmmap_mcast", "proxy", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", s_name); dmuci_set_value_by_section(dmmap, "proto", "mld"); - *instance = update_instance(inst, 6, dmmap, "proxy_instance", "dmmap_mcast", "proxy", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst, 5, dmmap, "proxy_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -133,7 +133,7 @@ static int add_mld_snooping_obj(char *refparam, struct dmctx *ctx, void *data, c dmuci_add_section_bbfdm("dmmap_mcast", "snooping", &dmmap); dmuci_set_value_by_section(dmmap, "section_name", s_name); dmuci_set_value_by_section(dmmap, "proto", "mld"); - *instance = update_instance(inst, 6, dmmap, "snooping_instance", "dmmap_mcast", "snooping", check_browse_section, (void *)&browse_args); + *instance = update_instance(inst, 5, dmmap, "snooping_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -259,7 +259,7 @@ static int add_mlds_filter_obj(char *refparam, struct dmctx *ctx, void *data, ch browse_args.option = "section_name"; browse_args.value = section_name((struct uci_section *)data); - *instance = update_instance(last_inst, 6, dmmap_mlds_filter, "filter_instance", "dmmap_mcast", "snooping_filter", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_mlds_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -332,7 +332,7 @@ static int add_mldp_interface_obj(char *refparam, struct dmctx *ctx, void *data, browse_args.option = "section_name"; browse_args.value = section_name((struct uci_section *)data); - *instance = update_instance(last_inst, 6, dmmap_mldp_interface, "iface_instance", "dmmap_mcast", "proxy_interface", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_mldp_interface, "iface_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } @@ -431,7 +431,7 @@ static int add_mldp_filter_obj(char *refparam, struct dmctx *ctx, void *data, ch browse_args.option = "section_name"; browse_args.value = section_name((struct uci_section *)data); - *instance = update_instance(last_inst, 6, dmmap_mldp_filter, "filter_instance", "dmmap_mcast", "proxy_filter", check_browse_section, (void *)&browse_args); + *instance = update_instance(last_inst, 5, dmmap_mldp_filter, "filter_instance", NULL, check_browse_section, (void *)&browse_args); return 0; } diff --git a/dmtree/tr181/x_iopsys_eu_owsd.c b/dmtree/tr181/x_iopsys_eu_owsd.c index 348b1d10..bc6893ae 100644 --- a/dmtree/tr181/x_iopsys_eu_owsd.c +++ b/dmtree/tr181/x_iopsys_eu_owsd.c @@ -400,7 +400,7 @@ static int add_owsd_listen(char *refparam, struct dmctx *ctx, void *data, char * dmuci_add_section_bbfdm("dmmap_owsd", "owsd-listen", &dmmap_sec); dmuci_set_value_by_section(dmmap_sec, "section_name", section_name(listen_sec)); - *instancepara = update_instance(instance, 4, dmmap_sec, "olisteninstance", "dmmap_owsd", "owsd-listen"); + *instancepara = update_instance(instance, 2, dmmap_sec, "olisteninstance"); return 0; } diff --git a/json/generate_source_code.py b/json/generate_source_code.py index d492c5f4..c453bad7 100755 --- a/json/generate_source_code.py +++ b/json/generate_source_code.py @@ -414,7 +414,7 @@ def cprintAddDelObj( faddobj, fdelobj, name, mappingobj, dmobject ): print("", file=fp) print(" dmuci_add_section_bbfdm(\"%s\", \"%s\", &dmmap);" % (dmmapfile, sectiontype), file=fp) print(" dmuci_set_value_by_section(dmmap, \"section_name\", section_name(s));", file=fp) - print(" *instance = update_instance(inst, 4, dmmap, \"%s\");" % (name+"instance"), file=fp) + print(" *instance = update_instance(inst, 2, dmmap, \"%s\");" % (name+"instance"), file=fp) else: print(" //TODO", file=fp) print(" return 0;", file=fp) diff --git a/libbbf_api/dmbbf.c b/libbbf_api/dmbbf.c index eaad642c..c8804022 100644 --- a/libbbf_api/dmbbf.c +++ b/libbbf_api/dmbbf.c @@ -607,13 +607,12 @@ char *update_instance(char *max_inst, int argc, ...) va_list arg; char *instance, *last_inst = NULL; int i = 0; - void *argv[argc+1]; + void *argv[8] = {0}; va_start(arg, argc); for (i = 0; i < argc; i++) { argv[i] = va_arg(arg, void*); } - argv[argc] = NULL; va_end(arg); instance = update_instance_alias(0, &last_inst, &max_inst, argv); @@ -703,7 +702,7 @@ char *get_last_instance_bbfdm(char *package, char *section, char *opt_inst) char *inst = NULL, *last_inst = NULL; uci_path_foreach_sections(bbfdm, package, section, s) { - inst = update_instance(last_inst, 4, s, opt_inst, package, section); + inst = update_instance(last_inst, 2, s, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(inst); @@ -733,14 +732,14 @@ char *get_last_instance(char *package, char *section, char *opt_inst) if (strcmp(package, DMMAP) == 0) { uci_path_foreach_sections(bbfdm, "dmmap", section, s) { - inst = update_instance(last_inst, 4, s, opt_inst, package, section); + inst = update_instance(last_inst, 2, s, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(inst); } } else { uci_foreach_sections(package, section, s) { - inst = update_instance(inst, 4, s, opt_inst, package, section); + inst = update_instance(inst, 2, s, opt_inst); } } return inst; @@ -756,7 +755,7 @@ char *get_last_instance_lev2_bbfdm_dmmap_opt(char *dmmap_package, char *section, browse_args.value = value_check; uci_path_foreach_option_eq(bbfdm, dmmap_package, section, opt_check, value_check, s) { - instance = update_instance(last_inst, 6, s, opt_inst, dmmap_package, section, check_browse_section, (void *)&browse_args); + instance = update_instance(last_inst, 5, s, opt_inst, NULL, check_browse_section, (void *)&browse_args); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(instance); @@ -775,7 +774,7 @@ char *get_last_instance_lev2_bbfdm(char *package, char *section, char* dmmap_pac dmuci_add_section_bbfdm(dmmap_package, section, &dmmap_section); dmuci_set_value_by_section(dmmap_section, "section_name", section_name(s)); } - instance = update_instance(last_inst, 4, dmmap_section, opt_inst, dmmap_package, section); + instance = update_instance(last_inst, 2, dmmap_section, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(instance); @@ -790,14 +789,14 @@ char *get_last_instance_lev2(char *package, char *section, char *opt_inst, char if (strcmp(package, DMMAP) == 0) { uci_path_foreach_option_cont(bbfdm, package, section, opt_check, value_check, s) { - instance = update_instance(last_inst, 4, s, opt_inst, package, section); + instance = update_instance(last_inst, 2, s, opt_inst); if(last_inst) dmfree(last_inst); last_inst = dmstrdup(instance); } } else { uci_foreach_option_cont(package, section, opt_check, value_check, s) { - instance = update_instance(instance, 4, s, opt_inst, package, section); + instance = update_instance(instance, 2, s, opt_inst); } } return instance;