From 0e68fc1fdb5c0205a02a7cc5084990018cfeeeb6 Mon Sep 17 00:00:00 2001
From: Aleksandr Lysikov <lysikov@inbox.ru>
Date: Sun, 12 May 2019 21:49:33 +0500
Subject: [PATCH] wrote command print_log with parameters

---
 dap_chain_net.c          |  9 +++++++--
 dap_chain_node_cli_cmd.c | 12 +++++++++---
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/dap_chain_net.c b/dap_chain_net.c
index 733f8b7..4cdd318 100644
--- a/dap_chain_net.c
+++ b/dap_chain_net.c
@@ -374,6 +374,10 @@ int dap_chain_net_load(const char * a_net_name)
                                             dap_config_get_item_str(l_cfg , "general" , "name" ),
                                             dap_config_get_item_str(l_cfg , "general" , "node-role" )
                                            );
+        if(!l_net) {
+            log_it(L_ERROR,"Can't create l_net");
+            return -1;
+        }
         l_net->pub.gdb_groups_prefix = dap_strdup (
                     dap_config_get_item_str_default(l_cfg , "general" , "gdb_groups_prefix","" ) );
 
@@ -425,8 +429,9 @@ int dap_chain_net_load(const char * a_net_name)
                         dap_chain_t * l_chain = dap_chain_load_from_cfg(l_net->pub.name, l_net->pub.id, l_chains_path);
                         if(l_chain){
                             DL_APPEND( l_net->pub.chains, l_chain);
-                            if(l_chain->callback_created)
-                                l_chain->callback_created(l_chain,l_cfg);
+                            // fix - dap_chain_t has no member 'callback_created'
+                            //if(l_chain->callback_created)
+                            //    l_chain->callback_created(l_chain,l_cfg);
                         }
                         free(l_entry_name);
                     }
diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c
index 2f29266..3453a00 100644
--- a/dap_chain_node_cli_cmd.c
+++ b/dap_chain_node_cli_cmd.c
@@ -2269,7 +2269,7 @@ int com_print_log(int argc, const char ** argv, char **str_reply)
     l_ts_after = (l_str_ts_after) ? strtoll(l_str_ts_after, 0, 10) : -1;
     l_limit = (l_str_limit) ? strtol(l_str_limit, 0, 10) : -1;
 
-    if(l_ts_after<0 || !l_str_ts_after) {
+    if(l_ts_after < 0 || !l_str_ts_after) {
         dap_chain_node_cli_set_reply_text(str_reply, "requires valid parameter 'l_ts_after'");
         return -1;
     }
@@ -2278,8 +2278,14 @@ int com_print_log(int argc, const char ** argv, char **str_reply)
         return -1;
     }
 
-    char *l_str_ret = NULL;
+    // get logs from list
+    char *l_str_ret = log_get_item(l_ts_after, l_limit);
+    if(!l_str_ret) {
+        dap_chain_node_cli_set_reply_text(str_reply, "no logs");
+        return -1;
+    }
     dap_chain_node_cli_set_reply_text(str_reply, l_str_ret);
-    return -1;
+    DAP_DELETE(l_str_ret);
+    return 0;
 }
 
-- 
GitLab