log_mgmt: log entry shld get encoded at the end
- Log entries get read chunk by chunk and should get encoded at the end
diff --git a/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c b/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c
index 30a3451..f73de8e 100644
--- a/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c
+++ b/cmd/log_mgmt/port/mynewt/src/mynewt_log_mgmt.c
@@ -112,6 +112,7 @@
int offset;
int rc;
+ rc = 0;
mynewt_log_mgmt_walk_arg = log_offset->lo_arg;
/* If specified timestamp is nonzero, it is the primary criterion, and the
@@ -155,17 +156,18 @@
read_len = 128;
}
- rc = log_read_body(log, dptr, mynewt_log_mgmt_walk_arg->chunk, offset,
- read_len);
+ rc += log_read_body(log, dptr, mynewt_log_mgmt_walk_arg->chunk, offset,
+ read_len);
if (rc < 0) {
return MGMT_ERR_EUNKNOWN;
}
- entry.len = rc;
- entry.data = mynewt_log_mgmt_walk_arg->chunk;
- rc = mynewt_log_mgmt_walk_arg->cb(&entry, mynewt_log_mgmt_walk_arg->arg);
- if (rc) {
- return rc;
- }
+ }
+
+ entry.len = rc;
+ entry.data = mynewt_log_mgmt_walk_arg->chunk;
+ rc = mynewt_log_mgmt_walk_arg->cb(&entry, mynewt_log_mgmt_walk_arg->arg);
+ if (rc) {
+ return rc;
}
return 0;