summaryrefslogtreecommitdiff
path: root/src/file-data.c
diff options
context:
space:
mode:
authorSimon Howard <[email protected]>2025-06-18 14:50:28 -0400
committerSimon Howard <[email protected]>2025-06-19 11:57:34 -0400
commite58cc811cc0161ca808a13b8aafda5123097f3c3 (patch)
treef35548d9804779fd40824a6d6380f2b2f9dbaadf /src/file-data.c
parent51a2a84bcd7bd10ff53cf87b58e4b3ec89011df1 (diff)
downloadengrampa-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