This is an automated email from the ASF dual-hosted git repository.

ccollins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-imgmod.git

commit 0f5f9eaead163a6fa61fb4ed75613260b60a964b
Author: Christopher Collins <ccoll...@apache.org>
AuthorDate: Fri Feb 28 16:27:31 2020 -0800

    New command: image extractbody
---
 cli/image_cmds.go | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/cli/image_cmds.go b/cli/image_cmds.go
index 5aa1315..6ef308e 100644
--- a/cli/image_cmds.go
+++ b/cli/image_cmds.go
@@ -674,6 +674,25 @@ func runVerifyCmd(cmd *cobra.Command, args []string) {
        }
 }
 
+func runExtractBodyCmd(cmd *cobra.Command, args []string) {
+       if len(args) < 1 {
+               ImgmodUsage(cmd, nil)
+       }
+
+       imgFilename := args[0]
+       outFilename := args[1]
+
+       img, err := readImage(imgFilename)
+       if err != nil {
+               ImgmodUsage(cmd, err)
+       }
+
+       err = WriteFile(img.Body, outFilename)
+       if err != nil {
+               ImgmodUsage(nil, err)
+       }
+}
+
 func AddImageCommands(cmd *cobra.Command) {
        imageCmd := &cobra.Command{
                Use:   "image",
@@ -883,4 +902,12 @@ func AddImageCommands(cmd *cobra.Command) {
                "", "Manifest file")
 
        imageCmd.AddCommand(verifyCmd)
+
+       extractBodyCmd := &cobra.Command{
+               Use:   "extractbody <image> <out-file>",
+               Short: "Extracts a Mynewt image's body",
+               Run:   runExtractBodyCmd,
+       }
+
+       imageCmd.AddCommand(extractBodyCmd)
 }

Reply via email to