mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
unzip: return uncompressed size in `filesize', and print it.
The unzip command did not provide a way for the caller to get any information about the uncompressed size. To make it better usable in scripts, we now store the uncompressed size in the `filesize' variable, like we do when for example loading a file over the network or when reading it from a file system. Following that analogy, it is only consequent to also print the size. Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
parent
cc22b795fb
commit
67fb0622a9
1 changed files with 9 additions and 1 deletions
|
@ -1212,6 +1212,7 @@ int do_unzip ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
{
|
||||
unsigned long src, dst;
|
||||
unsigned long src_len = ~0UL, dst_len = ~0UL;
|
||||
char buf[32];
|
||||
|
||||
switch (argc) {
|
||||
case 4:
|
||||
|
@ -1225,7 +1226,14 @@ int do_unzip ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
return cmd_usage(cmdtp);
|
||||
}
|
||||
|
||||
return !!gunzip((void *) dst, dst_len, (void *) src, &src_len);
|
||||
if (gunzip((void *) dst, dst_len, (void *) src, &src_len) != 0)
|
||||
return 1;
|
||||
|
||||
printf("Uncompressed size: %ld = 0x%lX\n", src_len, src_len);
|
||||
sprintf(buf, "%lX", src_len);
|
||||
setenv("filesize", buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_CMD_UNZIP */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue