From d4e5af0674bbb14b17b7bb53c6e0253dc9a41166 Mon Sep 17 00:00:00 2001
From: Dmitriy Gerasimov <dm@cifercom.com>
Date: Mon, 5 Feb 2018 14:08:53 +0700
Subject: [PATCH] [+] default value for string fetch function

---
 core/dap_config.c | 16 +++++++++++++++-
 core/dap_config.h |  2 ++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/core/dap_config.c b/core/dap_config.c
index 9154ec6499..47dd1d978b 100644
--- a/core/dap_config.c
+++ b/core/dap_config.c
@@ -252,6 +252,7 @@ int32_t dap_config_get_item_int32(dap_config_t * a_config, const char * a_sectio
     return 0;
 }
 
+
 /**
  * @brief dap_config_get_item_str
  * @param a_config
@@ -260,6 +261,19 @@ int32_t dap_config_get_item_int32(dap_config_t * a_config, const char * a_sectio
  * @return
  */
 const char * dap_config_get_item_str(dap_config_t * a_config, const char * a_section_path, const char * a_item_name)
+{
+    return dap_config_get_item_str_default(a_config,a_section_path,a_item_name, NULL);
+}
+
+/**
+ * @brief dap_config_get_item_str_default
+ * @param a_config
+ * @param a_section_path
+ * @param a_item_name
+ * @param a_value_default
+ * @return
+ */
+const char * dap_config_get_item_str_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, const char * a_value_default)
 {
     dap_config_item_t * l_item_section = DAP_CONFIG_INTERNAL(a_config)->item_root ;
     while(l_item_section){
@@ -274,7 +288,7 @@ const char * dap_config_get_item_str(dap_config_t * a_config, const char * a_sec
         }
         l_item_section = l_item_section->item_next;
     }
-    return NULL;
+    return a_value_default;
 }
 
 /**
diff --git a/core/dap_config.h b/core/dap_config.h
index 3ba08b7330..10d14db08f 100644
--- a/core/dap_config.h
+++ b/core/dap_config.h
@@ -15,6 +15,8 @@ void dap_config_close(dap_config_t * a_config);
 
 int32_t dap_config_get_item_int32(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
 const char * dap_config_get_item_str(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
+const char * dap_config_get_item_str_default(dap_config_t * a_config, const char * a_section_path, const char * a_item_name, const char * a_value_default);
+
 bool dap_config_get_item_bool(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
 double dap_config_get_item_double(dap_config_t * a_config, const char * a_section_path, const char * a_item_name);
 
-- 
GitLab