From 51ceff2ea1aff13547b005355eb74ec8d41128ac Mon Sep 17 00:00:00 2001 From: Omar Kallel Date: Fri, 24 May 2019 15:38:17 +0100 Subject: [PATCH] Ticket refs #716: TR-181: Device.QoS object (Fix Shaper add_object) --- dm/dmcwmp.c | 15 +++++++++++++++ dm/dmtree/tr181/qos.c | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/dm/dmcwmp.c b/dm/dmcwmp.c index a07da18..54e1176 100644 --- a/dm/dmcwmp.c +++ b/dm/dmcwmp.c @@ -574,6 +574,21 @@ char *get_last_instance_icwmpd(char *package, char *section, char *opt_inst) return inst; } +char *get_last_instance_icwmpd_without_update(char *package, char *section, char *opt_inst) +{ + struct uci_section *s; + char *inst = NULL; + char *last_inst = NULL; + + uci_path_foreach_sections(icwmpd, package, section, s) { + dmuci_get_value_by_section_string(s, opt_inst, &inst); + if(last_inst) + dmfree(last_inst); + last_inst = dmstrdup(inst); + } + return inst; +} + char *get_last_instance(char *package, char *section, char *opt_inst) { struct uci_section *s; diff --git a/dm/dmtree/tr181/qos.c b/dm/dmtree/tr181/qos.c index ee8d2ff..e9a8e56 100644 --- a/dm/dmtree/tr181/qos.c +++ b/dm/dmtree/tr181/qos.c @@ -617,7 +617,7 @@ int addObjQoSShaper(char *refparam, struct dmctx *ctx, void *data, char **instan struct uci_section *s, *dmmap_qos_class; char *last_inst= NULL, *sect_name= NULL, *qos_comment, *v; char ib[8]; - last_inst= get_last_instance_icwmpd("dmmap_qos", "class", "shaperinstance"); + last_inst= get_last_instance_icwmpd_without_update("dmmap_qos", "class", "shaperinstance"); if (last_inst) sprintf(ib, "%s", last_inst); else