diff options
| author | Simon Howard <[email protected]> | 2025-06-18 14:50:28 -0400 |
|---|---|---|
| committer | Simon Howard <[email protected]> | 2025-06-19 11:57:34 -0400 |
| commit | e58cc811cc0161ca808a13b8aafda5123097f3c3 (patch) | |
| tree | f35548d9804779fd40824a6d6380f2b2f9dbaadf /src/file-data.c | |
| parent | 51a2a84bcd7bd10ff53cf87b58e4b3ec89011df1 (diff) | |
| download | engrampa-e58cc811cc0161ca808a13b8aafda5123097f3c3.tar.bz2 engrampa-e58cc811cc0161ca808a13b8aafda5123097f3c3.tar.xz | |
lha: Fix crash, parse lha list output correctly
The output from the `lha` list archive command is eclectic and
inconsistent, and engrampa was actually crashing when opening certain
archives (eg. lha_os2_208/h3_subdir.lzh in the Lhasa test suite). But this
also fixes the list parsing more generally. With this change, engrampa
now appears to successfully open all of the .lzh files in the Lhasa test
suite correctly without crashing.
The first field in lha's list output either contains Unix permissions or
an OS name in [brackets]. There was already hard-coded support for
[MS-DOS], [generic], [unknown] and [Amiga], but other OS names were not
handled properly. This is now fixed, with an approach that is mindful of
the fact that the OS name can contain spaces.
Empty value (whitespace) in the UID/GID column is also handled
correctly. This was partially working because of the aforementioned
special-casing, but now is fixed more generally.
Diffstat (limited to 'src/file-data.c')
0 files changed, 0 insertions, 0 deletions
