2419 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
6424c6ff85 build: ensure fuzzing binaries can be built without warnings 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
bfadb40615 refactor(test_helpers): improve os_access_mock flexibility / readability 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
5d2fefa918 chore(fstypes): show section version in dump 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
78b8af8f8b feat(filesystem_v2): show compression metadata in dump/info_as_json 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
4538a8a3c8 fix(rewrite_filesystem): only recompress blocks if actually requested 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
48f423504c build: enable -Wnrvo warnings when available 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
c86118fdd7 refactor: enable NRVO in a few places 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
afa370c7fa build: add -Wpessimizing-move 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
9df98e69f0 build: -Wuseless-cast is a C++ warnings 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
5202677d6c refactor(fragment_order_parser): use constexpr array instead of map 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
1d12e081c7 refactor(global_entry_data): use flat_hash_map instead of F14FastMap
The F14 map in combination with range-v3 was causing strange warning
with some versions of GCC:

```
    inlined from 'static void dwarfs::writer::internal::global_entry_data::index(map_type<std::__cxx11::basic_string<char>, unsigned int>&)' at /home/mhx/git/github/dwarfs/src/writer/internal/global_entry_data.cpp:63:51:
/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/stl_iterator_base_funcs.h:162:7: error: iteration 288230376151711743 invokes undefined behavior [-Werror=aggressive-loop-optimizations]
  162 |       while (__n--)
      |       ^~~~~
```
2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
7020b4a10d fix: ranges::views::join with string literal includes \0 in result 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
a340410365 fix: remove access() implementation from FUSE driver (see gh #244) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
f3afc72ea0 feat(lzma): support more lzma options (mode, mf, nice, depth) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
294d711db2 fix: explicitly set UTF8 code page on windows 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
7a7d336176 test: add debug output for tools test 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
1bad002150 test: default initialize members 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
329d342e7e refactor(pages): string -> string_view 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
56dedbd05e build: update preferred version of parallel hashmap 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
a8938d5623 test: speed up tools test 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
b349e584e0 feat: support case-insensitive lookups (fixes gh #232) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
f01f4a4ed2 refactor(metadata_v2): no need to prefix with internal:: 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
3a895769de feat: allow uid/gid override in filesystem and FUSE driver (see gh #244) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
2ff7602192 feat: support extracting only files matching glob patterns (fixes gh #243) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
853d8ca966 test: factor out mtree parser 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
c427808bb1 feat: use glob-to-regex to simplify and enhance rule_based_entry_filter 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
5d19513829 feat: add glob matcher class and glob-to-regex transformer 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
86d1ef655c feat(metadata_types): add directory_view::self_entry_view() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
07f759a3f4 fix(metadata_v2): check for any files before building hardlink table 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
3504ce97ef fix(block_cache): skip prefetch if the block is already cached 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
48152b9412 fix(scanner): use rvalue refs to ensure type definition isn't required 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
86a751ebc3 refactor: switch test code to using exception_str 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
f2b369dc51 chore: update .clang-tidy 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
344ac5a853 fix(metadata_types): don't slice bundled values 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
a2fb7a9993 chore(block_cache): add clang-tidy annotations for not moving rvalues 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
b901d17960 refactor(block_cache): don't move if we don't have to 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
b80fecbf85 refactor: move default initialization to members 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
f847a6e566 chore(compression): annotate that we intentionally don't move rvalue 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
328abe1303 fix(scope_exit): move, don't forward 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
c68820d40f refactor(lz4): use memcpy instead of reinterpret_cast 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
68e0bcd480 chore: add clang-tidy exceptions for const_casts 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
5d341ec60e chore: activate more clang-tidy warnings 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
13b7175e9a fix: forward forwarding-refs or change to const refs 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
7a478e5623 chore: don't warn about an unavoidable free() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
bf9be86456 refactor(metadata_types): make ::unix_path() less Windows specific 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
556004ce7e chore: add initial .clang-tidy 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
6d9e8811b2 chore: add exceptions for clang-tidy 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
e42f7dfc46 refactor(string_table): don't unnecessarily resize buffer 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
91d292f464 refactor: make implementation class final 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
887134a841 build: turn on warnings-as-errors in git builds with MSVC 2025-03-14 15:07:49 +01:00