Caleb J. Gardner
3060c4056d
Fix #44
2026-03-08 06:11:15 -05:00
Caleb Gardner
a829f0df9f
Accidentally re-added caching_paged_reader
2025-06-07 03:13:33 -05:00
Caleb Gardner
74d9239c25
Merge branch 'main' into redo-extract
2025-06-07 03:12:42 -05:00
Caleb Gardner
9fd87fe38a
More efficient Table reading
2025-06-07 02:43:32 -05:00
Caleb Gardner
e1449da2f0
Fix memory leaks & inefficiencies
2025-06-07 02:07:45 -05:00
Caleb Gardner
ddb81aade0
Rework caching_paged_reader into Table[T]
...
This *should* fix some issues with extraction due to race conditions
2025-06-06 15:46:25 -05:00
Caleb Gardner
b2c8084f41
Minor tweaks
2025-06-06 15:46:25 -05:00
Will Murphy
0905141013
fix: prevent index out of range on long frag tables
...
Previously, reading fragment 512 would panic with index out of range.
Fix that panic by introducing an abstraction over reading blocks of
items, caching the intermediate result, and returning an item at a
particular index. The primary goal of this abstraction is to make edge
cases like requesting items on page boundaries easy to unit test for.
Additionally, fix unit tests by making t.Fatal calls protected by
nil checks on the error values.
2025-06-06 15:46:22 -05:00
Caleb Gardner
02d98b610c
Merge branch 'main' into upstream-fix-out-of-range-panic
2025-06-06 14:26:10 -05:00
Caleb Gardner
81b663b48a
Tested and working
2025-06-06 11:20:42 -05:00
Caleb Gardner
97214ca6ca
Finished readers (theoretically)
2025-06-06 11:05:43 -05:00
Caleb Gardner
3378651686
Re-write data fullreader & reader
...
Moved directory and the rest of the inodes to manual decoding
2025-06-06 06:37:39 -05:00
Caleb Gardner
4c8c9f0b47
Re-use zstd and zlib readers
2025-04-16 05:49:42 -05:00
Caleb Gardner
6224c4be41
Further performance improvements
...
Further removed multiple pointer instances
Re-use decompression readers (except zstd due to bugs)
2025-04-10 11:20:55 -05:00
Caleb Gardner
6b0e9ef2c6
Reduce use of binary.Read and, by extention, reflection
2025-04-10 06:26:41 -05:00
Caleb Gardner
4490fc3873
Removed all the pointers
2025-04-10 02:15:24 -05:00
Caleb Gardner
f242de2710
Better disabling of compression types
2025-03-17 06:53:29 -05:00
Caleb Gardner
ad24995b7b
Change no_lzma and no_lzo to no_obsolete and no_gpl
...
Added build tags section to README
2025-03-17 06:16:25 -05:00
Caleb Gardner
f11416493e
Apply FileMode fixes to Inode.Mode()
2025-03-12 00:09:02 -05:00
Caleb Gardner
446f29df70
Empty io.Reader buffer on EOF
2025-03-04 04:33:47 -06:00
Caleb Gardner
d6c8efcfe6
Removed writeToWriteAt
...
Didn't seem to have any performance advantage
2025-03-04 04:08:13 -06:00
Caleb Gardner
d890932d5c
Use WriterAt if it's available for FullReader
2025-02-27 07:19:04 -06:00
Caleb Gardner
87b5ac7f5d
gopls modernize
2025-02-27 02:46:22 -06:00
Will Murphy
c80d150fdc
fix: remove stray println
2024-12-10 17:00:57 -05:00
Caleb Gardner
03266d0560
Fix frag, id, inode table values on block boundries
...
Fixes bug mention in #30
2024-11-26 17:09:39 -06:00
Will Murphy
0253a76dbe
fix: prevent index out of range on long frag tables
...
Previously, reading fragment 512 would panic with index out of range.
Fix that panic by introducing an abstraction over reading blocks of
items, caching the intermediate result, and returning an item at a
particular index. The primary goal of this abstraction is to make edge
cases like requesting items on page boundaries easy to unit test for.
Additionally, fix unit tests by making t.Fatal calls protected by
nil checks on the error values.
2024-11-26 07:38:33 -05:00
Caleb Gardner
2a33cad709
PERFORMANCE
...
Changed some struct values from pointers to normal values for improved performance.
2024-07-17 09:30:16 -05:00
Caleb Gardner
ef72408cd0
Added inode number to directory.Entry
2023-12-27 23:55:57 -06:00
Caleb Gardner
144805e747
Rename squashfslow.Base to squashfslow.FileBase
2023-12-27 23:50:27 -06:00
Caleb Gardner
bfba5d5b60
Rename squashfs/squashfs to squashfs/low
...
squashfs/low library name is now squashfslow
2023-12-27 23:25:49 -06:00