ubiupdatevol: fix bug with -sSIZE: was ignoring IMAGE_FILE
No binary (build failed)
—
(log yok)
| @@ -298,7 +298,7 @@ int ubi_tools_main(int argc UNUSED_PARAM, char **argv) | |
| } else | |
| //usage:#define ubiupdatevol_trivial_usage | |
| - | //usage: "[-t | [-s SIZE] IMG_FILE] UBI_DEVICE" |
| + | //usage: "-t UBI_DEVICE | [-s SIZE] UBI_DEVICE IMG_FILE" |
| //usage:#define ubiupdatevol_full_usage "\n\n" | |
| //usage: "Update UBI volume\n" | |
| //usage: "\n -t Truncate to zero size" | |
| @@ -313,7 +313,6 @@ int ubi_tools_main(int argc UNUSED_PARAM, char **argv) | |
| xioctl(fd, UBI_IOCVOLUP, &bytes64); | |
| } | |
| else { | |
| - | struct stat st; |
| unsigned ubinum, volnum; | |
| unsigned leb_size; | |
| ssize_t len; | |
| @@ -327,12 +326,15 @@ int ubi_tools_main(int argc UNUSED_PARAM, char **argv) | |
| sprintf(path_sys_class_ubi_ubi, "%u_%u/usable_eb_size", ubinum, volnum); | |
| leb_size = get_num_from_file(path, MAX_SANE_ERASEBLOCK, "Can't get usable eraseblock size from '%s'"); | |
| - | if (!(opts & OPTION_s)) { |
| + | if (!(opts & OPTION_t)) { |
| if (!*argv) | |
| bb_show_usage(); | |
| xmove_fd(xopen(*argv, O_RDONLY), STDIN_FILENO); | |
| - | xfstat(STDIN_FILENO, &st, *argv); |
| - | size_bytes = st.st_size; |
| + | if (!(opts & OPTION_s)) { |
| + | struct stat st; |
| + | xfstat(STDIN_FILENO, &st, *argv); |
| + | size_bytes = st.st_size; |
| + | } |
| } | |
| bytes64 = size_bytes; | |