diff --git a/dap_chain_global_db.c b/dap_chain_global_db.c index 8eec4f47145add5d8264395b2a9356318911d9af..ad42e86bb72fc752c9cde99e2f44a1e1d75df644 100755 --- a/dap_chain_global_db.c +++ b/dap_chain_global_db.c @@ -75,6 +75,7 @@ typedef struct history_group_item // Tacked group callbacks static history_group_item_t * s_history_group_items = NULL; +static char *s_storage_path = NULL; char * extract_group_prefix(const char * a_group); @@ -176,16 +177,15 @@ void dap_chain_global_db_objs_delete(dap_global_db_obj_t *objs, size_t a_count) */ int dap_chain_global_db_init(dap_config_t * g_config) { - char l_storage_path[MAX_PATH]; #ifdef WIN32 memcpy(l_storage_path, s_sys_dir_path, l_sys_dir_path_len); #endif - dap_sprintf(l_storage_path + g_sys_dir_path_len, "%s", - dap_config_get_item_str(g_config, "resources", "dap_global_db_path")); + s_storage_path= dap_strdup( + dap_config_get_item_str(g_config, "resources", "dap_global_db_path") ); //const char *l_driver_name = dap_config_get_item_str_default(g_config, "resources", "dap_global_db_driver", "sqlite"); const char *l_driver_name = dap_config_get_item_str_default(g_config, "resources", "dap_global_db_driver", "cdb"); lock(); - int res = dap_db_driver_init(l_driver_name, l_storage_path); + int res = dap_db_driver_init(l_driver_name, s_storage_path); unlock(); return res; }