aboutsummaryrefslogtreecommitdiffstats
path: root/src/system.c
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28Add custom allocator supportDavid Robillard1-55/+41
2022-01-28Add assertions for all non-null pointers in the public APIDavid Robillard1-0/+3
Clang issues warnings at build time based on the SERD_NONNULL annotations, which is a much better approach in general. However, it does not cover cases where the API is being used with another compiler, or without a compiler that can statically check things at all (such as Python or other dynamic language bindings). In those situations, getting a clear assertion message is a lot less confusing than a random crash somewhere in serd, and it makes it clear that the bug is in the caller, so I think it's worth the tedious verbosity.
2022-01-13Add serd_canonical_path()David Robillard1-0/+25
2022-01-13Split up serd_internal.hDavid Robillard1-1/+0
2022-01-13Use thread-safe strerror_r() if availableDavid Robillard1-0/+14
2022-01-13Move fopen wrapper to worldDavid Robillard1-21/+0
2022-01-13Align node allocationsDavid Robillard1-0/+15
2022-01-13Define _POSIX_C_SOURCE globally in the build systemDavid Robillard1-2/+0
Using inconsistent defines like this that affect the standard library implementation can cause issues. So, doing this consistently for the whole library is a better approach, although it unfortunately makes the code more difficult to compile manually.
2021-05-31Make most function parameters constDavid Robillard1-1/+1
More const never hurts in general, but in particular this allows the compiler to make better nullability deductions, which reduces the amount of manual nullability casting required.
2021-01-17Remove aligned_alloc supportDavid Robillard1-2/+0
This causes build issues when targeting older versions of MacOS. That could be fixed, but I don't have the ability to reproduce it at the moment, and it's a problem in the build system check code which is about to be entirely replaced anyway. Since, as far as I know, this does not actually add aligned allocation support to any real system (they all support one of the other methods), just remove it for now.
2021-01-02Use email address instead of website for attributionDavid Robillard1-1/+1
2021-01-01Remove the need for a generated configuration headerDavid Robillard1-4/+4
2020-12-31Format all code with clang-formatDavid Robillard1-20/+21
2020-11-15Only use aligned_alloc in C11David Robillard1-1/+1
2020-11-13Remove dead codeDavid Robillard1-19/+0
2020-11-13Use aligned allocation via C11 or Windows API where possibleDavid Robillard1-3/+46
2020-08-14Clean up and separate internal headersDavid Robillard1-0/+59