tools/mk7z: fix subtle bug in manifest handling

A string like `1E2` is interpreted as `100` (`1×10²`):

```bash
▹ echo 0E036904 | awk '{ if ($1) print $1 }'
▹ echo 0E036904 | awk '{ if ($1!="") print $1 }'
0E036904
```
reviewable/pr11800/r1
Benoit Pierre 3 weeks ago
parent 1398154546
commit df9d93d93c

@ -35,7 +35,7 @@ trap 'rm -rf "${tmpdir}"' EXIT
manifest="${tmpdir}/manifest"
"${sevenzip}" -l -ba h "${patterns[@]}" |
awk '{ if ($3) print $3, $2, $1; else print $1 }' |
awk '{ if ($3!="") print $3, $2, $1; else print $1 }' |
sort >"${manifest}"
# cat "${manifest}" | less
@ -46,7 +46,7 @@ if [[ -r "${archive}" ]]; then
"${sevenzip}" -slt l "${archive}" |
awk '
/^(\w+) = / { entry[$1] = $3; }
/^CRC =/ { if ($3) print entry["Path"], entry["Size"], $3; else print entry["Path"] }
/^CRC =/ { if ($3!="") print entry["Path"], entry["Size"], $3; else print entry["Path"] }
' | sort
) --label 'to add' "${manifest}"; then
exit

Loading…
Cancel
Save