summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
9 daysConsistently organize data structure documentationDavid Robillard5-11/+32
9 daysAdd missing declarations for temporary documentation filesDavid Robillard1-0/+3
9 daysFix dictionary orderDavid Robillard1-1/+1
9 daysFix word size calculation in BTree implementationDavid Robillard1-4/+5
9 daysAdd missing const qualifiersDavid Robillard1-3/+3
9 daysReduce empty BTree memory requirementsDavid Robillard3-23/+47
Avoid over-allocating the ZixBTree structure, and only allocate a root node when elements are inserted. The over-allocation was to make all allocations use pages (towards disk-backed storage), but since this isn't actually supported at the moment it was just a waste of memory.
9 daysFix potential memory leak on failed allocation in POSIX environmentDavid Robillard2-0/+4
Adds a test for a new potentially failing allocation added in 8348512a60399d172fc83cd7bdf121d4c0b1015e "Use getenv() instead of environ to avoid issues on FreeBSD", and fixes the memory leak it exposes. Avoiding this temporary allocation (which is only for adding null termination) is the main reason getenv() was initially avoided.
9 daysFix typo in commentDavid Robillard1-1/+1
9 daysAdd .git-blame-ignore-revs fileDavid Robillard1-0/+5
2025-03-02Make meson lint option non-yieldingDavid Robillard1-1/+1
This allows linting to be disabled in a parent project by passing "lint=false" to dependency() as a default option.
2025-02-26Disable meson implicit include directories anti-featureDavid Robillard4-1/+9
2025-02-12Fix spellingDavid Robillard4-4/+4
2025-02-10Use getenv() instead of environ to avoid issues on FreeBSDDavid Robillard4-33/+38
2025-02-10Fully parenthesize expressionsDavid Robillard2-2/+2
2025-02-10Remove unnecessary includeDavid Robillard1-1/+2
2025-01-20Suppress new clang-tidy warningsDavid Robillard1-1/+6
2025-01-19Clean up gitignore fileDavid Robillard1-7/+8
Strengthen patterns to match only relative to this directory where possible (with a leading slash), and move those that match in any child to a separate block.
2025-01-18Zix 0.6.2v0.6.2David Robillard2-4/+4
2025-01-18Update sphinxygen wrapDavid Robillard4-7/+13
2025-01-18Zix 0.6.0v0.6.0David Robillard3-6/+6
2025-01-18Update copyright year and remove symbolic linkDavid Robillard3-3/+15
Outright duplication isn't great, but there doesn't seem to be any way around to use links here and have every tool and/or site correctly understand the license for the project as a whole. It's boilerplate anyway.
2025-01-15Update sphinxygen wrapDavid Robillard1-5/+5
2025-01-10Use cppcheck working directoryDavid Robillard2-38/+43
This allows for better analysis, and adds a cache to improve checking times, especially on repeated runs.
2024-12-20Update READMEDavid Robillard1-3/+7
2024-12-11Add assertion to ensure integer overflow is avoidedDavid Robillard1-0/+1
2024-12-11Remove unnecessary null checks in testDavid Robillard1-2/+5
2024-12-11Avoid _get_osfhandle with clang on WindowsDavid Robillard1-0/+12
This function crashes when called in a clang build, I'm not sure why. File locking in general isn't a realiable enough facility, and this API weirdly uses FILE* unlike anything else, adding it was probably a mistake.
2024-12-11Fix clang and clang-tidy warnings on WindowsDavid Robillard7-14/+17
2024-12-11Remove old tree_debug.h headerDavid Robillard2-167/+6
2024-12-11Fix potential null dereferencesDavid Robillard2-2/+4
2024-12-11Consistently use malloc attribute for string-returning functionsDavid Robillard2-5/+5
These function return newly allocated strings, which can't contain pointers to any other object, so the GCC "malloc" attribute applies.
2024-12-11Fix memory leakDavid Robillard1-5/+4
Also removes the last MAX_PATH buffer limit.
2024-12-11Handle emscripten and MinGW stubs the same wayDavid Robillard3-3/+8
2024-12-11Add ZixDirEntryVisitFuncDavid Robillard3-15/+20
Although this type is only used once in the API, define it to avoid the complicated syntax of inline function pointer parameters, which confuses both people and clang-format.
2024-12-11Support building for UWPDavid Robillard6-25/+94
2024-12-11Support building for Windows with or without UNICODEDavid Robillard8-43/+284
2024-12-11Add option to build for older Windows versionsDavid Robillard7-36/+129
Adds configuration checks for Windows API functions, and a win_ver configuration option to change the targeted API version.
2024-12-11Fix meson file formattingDavid Robillard3-17/+20
As dictated by muon.
2024-12-11Clean up platform C flagsDavid Robillard3-3/+6
Remove platform flags from executable (test program) builds, since they shouldn't be needed there (that being the whole point of a portability library), and replace POSIX flags in WIndows with WIN32_LEAN_AND_MEAN.
2024-12-11Keep test paths within created temporary directoryDavid Robillard1-3/+9
Creates a subdirectory for testing ".." to stay within the created test directory for compatibility with sandboxing.
2024-12-11Use DeleteFile() instead of remove()David Robillard1-4/+3
2024-12-11Use CreateDirectory() instead of _mkdir()David Robillard1-4/+3
2024-12-11Fix widening conversions after arithmeticDavid Robillard4-11/+11
2024-12-02Fix benchmark scriptDavid Robillard1-3/+3
2024-12-02Fix benchmark build on WindowsDavid Robillard1-10/+6
Since these benchmarks depend on glib anyway (for comparison), portability hassles can be avoided here by just using glib for timing as well.
2024-12-02Use BenchmarkTime typedef everywhereDavid Robillard2-17/+15
This isolates the implementation details of benchmark time stamps from benchmark code.
2024-11-24Clean up and strengthen warning flagsDavid Robillard3-25/+25
Some previously global suppressions were only actually needed in benchmarks or tests, so move them there to keep the main set as small as possible.
2024-11-24Clean up includesDavid Robillard7-9/+9
2024-11-24Add zix_expand_environment_strings()David Robillard11-5/+356
2024-11-24Improve test coverageDavid Robillard1-7/+6