changeset 1457:da5e5b9c9623

dbg_dict_dump_json: fix ERROR warnings in log fd_dict_search(TYPE_OF_AVP) matches NULL when the AVP is not derived, so don't call fd_dict_getval() in that case. Fixes the ERROR logs from dbg_dict_dump_json.
author Luke Mewburn <luke@mewburn.net>
date Fri, 28 Feb 2020 11:05:24 +1100
parents 8627338e36ab
children c25dea477d6a
files extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc	Fri Feb 28 10:21:52 2020 +1100
+++ b/extensions/dbg_dict_dump_json/dbg_dict_dump_json.cc	Fri Feb 28 11:05:24 2020 +1100
@@ -32,8 +32,6 @@
 
 /*
  * Dump Diameter dictionary to JSON file.
- *
- * TODO: find out reason for many warnings in log
  */
 
 #include <freeDiameter/extension.h>
@@ -161,8 +159,12 @@
         Json::Value avp;
         char flags[10];
 
-        fd_dict_search(fd_g_config->cnf_dict, DICT_TYPE, TYPE_OF_AVP, self, &type, ENOENT);
-        if (fd_dict_getval(type, &type_data) != 0) {
+        if (fd_dict_search(fd_g_config->cnf_dict, DICT_TYPE, TYPE_OF_AVP, self, &type, 0) != 0) {
+                /* TODO: fd_dict_search error */
+                return;
+	}
+
+        if ((type == NULL) || (fd_dict_getval(type, &type_data) != 0)) {
                 avp["Type"] = Json::Value(type_base_name[data->avp_basetype]);
         } else {
                 if (strstr(type_data.type_name, "Enumerated") != 0) {
"Welcome to our mercurial repository"