You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2016/01/13 00:38:31 UTC

incubator-mynewt-larva git commit: Use imgmgr_bootrsp to construct response.

Repository: incubator-mynewt-larva
Updated Branches:
  refs/heads/master 66ff79e53 -> bbe06353e


Use imgmgr_bootrsp to construct response.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/commit/bbe06353
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/tree/bbe06353
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/diff/bbe06353

Branch: refs/heads/master
Commit: bbe06353e6680e510a3b28e8d56ecb768392d478
Parents: 66ff79e
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Tue Jan 12 15:38:02 2016 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Tue Jan 12 15:38:02 2016 -0800

----------------------------------------------------------------------
 libs/imgmgr/src/imgmgr.c      | 12 +++++++++---
 libs/imgmgr/src/imgmgr_fs.c   | 29 +++++++++++++----------------
 libs/imgmgr/src/imgmgr_priv.h |  4 ++--
 3 files changed, 24 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/bbe06353/libs/imgmgr/src/imgmgr.c
----------------------------------------------------------------------
diff --git a/libs/imgmgr/src/imgmgr.c b/libs/imgmgr/src/imgmgr.c
index a00887b..0c7a08a 100644
--- a/libs/imgmgr/src/imgmgr.c
+++ b/libs/imgmgr/src/imgmgr.c
@@ -95,15 +95,21 @@ imgr_read_ver(int area_id, struct image_version *ver)
     return rc;
 }
 
-int
+void
+imgr_ver_hton(struct image_version *ver)
+{
+    ver->iv_revision = htons(ver->iv_revision);
+    ver->iv_build_num = htonl(ver->iv_build_num);
+}
+
+static int
 imgr_nmgr_append_ver(struct nmgr_hdr *rsp_hdr, struct os_mbuf *rsp,
   struct image_version *to_write)
 {
     struct image_version ver;
 
     ver = *to_write;
-    ver.iv_revision = htons(ver.iv_revision);
-    ver.iv_build_num = htonl(ver.iv_build_num);
+    imgr_ver_hton(&ver);
 
     return (nmgr_rsp_extend(rsp_hdr, rsp, &ver, sizeof(ver)));
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/bbe06353/libs/imgmgr/src/imgmgr_fs.c
----------------------------------------------------------------------
diff --git a/libs/imgmgr/src/imgmgr_fs.c b/libs/imgmgr/src/imgmgr_fs.c
index 6fc80a5..ec3e6fa 100644
--- a/libs/imgmgr/src/imgmgr_fs.c
+++ b/libs/imgmgr/src/imgmgr_fs.c
@@ -67,32 +67,29 @@ int
 imgr_boot_read(struct nmgr_hdr *nmr, struct os_mbuf *req,
   uint16_t srcoff, struct nmgr_hdr *rsp_hdr, struct os_mbuf *rsp)
 {
-    struct image_version ver;
+    struct imgmgr_bootrsp ibr;
     int rc;
 
-    rc = imgr_read_test(&ver);
+    rc = imgr_read_test(&ibr.ibr_test);
     if (rc) {
-        memset(&ver, 0xff, sizeof(ver));
-    }
-    rc = imgr_nmgr_append_ver(rsp_hdr, rsp, &ver);
-    if (rc) {
-        goto err;
+        memset(&ibr.ibr_test, 0xff, sizeof(ibr.ibr_test));
     }
 
-    rc = imgr_read_main(&ver);
+    rc = imgr_read_main(&ibr.ibr_main);
     if (rc) {
-        memset(&ver, 0xff, sizeof(ver));
-    }
-    rc = imgr_nmgr_append_ver(rsp_hdr, rsp, &ver);
-    if (rc) {
-        goto err;
+        memset(&ibr.ibr_main, 0xff, sizeof(ibr.ibr_main));
     }
 
-    rc = imgr_read_ver(bsp_imgr_current_slot(), &ver);
+    rc = imgr_read_ver(bsp_imgr_current_slot(), &ibr.ibr_active);
     if (rc) {
-        memset(&ver, 0xff, sizeof(ver));
+        memset(&ibr.ibr_active, 0xff, sizeof(ibr.ibr_active));
     }
-    rc = imgr_nmgr_append_ver(rsp_hdr, rsp, &ver);
+
+    imgr_ver_hton(&ibr.ibr_test);
+    imgr_ver_hton(&ibr.ibr_main);
+    imgr_ver_hton(&ibr.ibr_active);
+
+    rc = nmgr_rsp_extend(rsp_hdr, rsp, &ibr, sizeof(ibr));
     if (rc) {
         goto err;
     }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/bbe06353/libs/imgmgr/src/imgmgr_priv.h
----------------------------------------------------------------------
diff --git a/libs/imgmgr/src/imgmgr_priv.h b/libs/imgmgr/src/imgmgr_priv.h
index dcad25d..7308aec 100644
--- a/libs/imgmgr/src/imgmgr_priv.h
+++ b/libs/imgmgr/src/imgmgr_priv.h
@@ -45,6 +45,6 @@ int imgr_boot_write(struct nmgr_hdr *nmr, struct os_mbuf *req,
   uint16_t srcoff, struct nmgr_hdr *rsp_hdr, struct os_mbuf *rsp);
 
 int imgr_read_ver(int area_id, struct image_version *ver);
-int imgr_nmgr_append_ver(struct nmgr_hdr *rsp_hdr, struct os_mbuf *rsp,
-  struct image_version *to_write);
+void imgr_ver_hton(struct image_version *ver);
+
 #endif /* __IMGMGR_PRIV_H */