]> git.sur5r.net Git - u-boot/blobdiff - tools/default_image.c
imagetool: make the image_save_datafile() available to all image types
[u-boot] / tools / default_image.c
index 0a0792e503eadefe058f51db90c5fe98fcc2e1e2..a92fa8015b1eafdf84c857cc4dcdb0d174ad2d60 100644 (file)
@@ -117,32 +117,6 @@ static void image_set_header(void *ptr, struct stat *sbuf, int ifd,
        image_set_hcrc(hdr, checksum);
 }
 
-static int image_save_datafile(struct image_tool_params *params,
-                              ulong file_data, ulong file_len)
-{
-       int dfd;
-       const char *datafile = params->outfile;
-
-       dfd = open(datafile, O_RDWR | O_CREAT | O_TRUNC | O_BINARY,
-                  S_IRUSR | S_IWUSR);
-       if (dfd < 0) {
-               fprintf(stderr, "%s: Can't open \"%s\": %s\n",
-                       params->cmdname, datafile, strerror(errno));
-               return -1;
-       }
-
-       if (write(dfd, (void *)file_data, file_len) != (ssize_t)file_len) {
-               fprintf(stderr, "%s: Write error on \"%s\": %s\n",
-                       params->cmdname, datafile, strerror(errno));
-               close(dfd);
-               return -1;
-       }
-
-       close(dfd);
-
-       return 0;
-}
-
 static int image_extract_datafile(void *ptr, struct image_tool_params *params)
 {
        const image_header_t *hdr = (const image_header_t *)ptr;
@@ -170,7 +144,7 @@ static int image_extract_datafile(void *ptr, struct image_tool_params *params)
        }
 
        /* save the "data file" into the file system */
-       return image_save_datafile(params, file_data, file_len);
+       return imagetool_save_datafile(params->outfile, file_data, file_len);
 }
 
 /*