aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-11-15Port serd_bench.py to argparseDavid Robillard1-28/+22
2020-11-15Strengthen null annotation on serd_env_get_base_uri()David Robillard1-1/+1
2020-11-15Run flake8 on serd_bench.pyDavid Robillard1-0/+4
2020-11-15Format serd_bench.py with blackDavid Robillard1-65/+94
2020-11-15Move benchmark script to scripts subdirectoryDavid Robillard1-0/+0
2020-11-15Only use aligned_alloc in C11David Robillard1-1/+1
2020-11-14Deprecate serd_uri_to_path()David Robillard4-4/+30
2020-11-14Refuse to write relative URI references to NTriplesDavid Robillard3-2/+19
2020-11-14Simplify abbreviated URI writing codeDavid Robillard1-13/+14
2020-11-13Make sanitizer failures fatal on CIDavid Robillard1-3/+3
2020-11-13Do sanitize run on CI in a single jobDavid Robillard1-7/+3
2020-11-13Fix test coverageDavid Robillard1-9/+7
2020-11-13Remove tests that pass null to nonnull parametersDavid Robillard2-8/+4
2020-11-13Add failure test for unescaped quotes in URIsDavid Robillard2-0/+7
2020-11-13Remove dead codeDavid Robillard2-22/+0
2020-11-13Improve documentationDavid Robillard1-19/+36
2020-11-13Simplify writer statement validity checkingDavid Robillard1-5/+3
2020-11-13Use line commentDavid Robillard1-3/+1
2020-11-13Suppress simple test outputDavid Robillard1-1/+1
2020-11-13Improve IRI reading performanceDavid Robillard1-10/+13
This allows the compiler to construct a jump table, and avoids a branch.
2020-11-13Improve documentation summary for SerdEnvDavid Robillard1-6/+1
2020-11-13Improve add and chop prefix functions when given empty stringsDavid Robillard2-8/+10
2020-11-13Remove use of C character class functions that may use localeDavid Robillard4-6/+16
Some of these cause warnings, and should never have been used in the first place since they depend on locale.
2020-11-13Use line comments where appropriate and clean up headerDavid Robillard1-222/+115
2020-11-13Allow setting the base URI of an Env to NULLDavid Robillard2-3/+12
2020-11-13Use aligned allocation via C11 or Windows API where possibleDavid Robillard6-13/+72
2020-11-12Use C11 if possibleDavid Robillard3-1/+5
2020-11-12Relax nullability annotation on allocation functionsDavid Robillard1-3/+5
In practice almost nobody checks for failed allocation, including unfortunately the serd tests and serdi itself. Adding a struct mode to conditionally define this would be a good idea to support allocation-hardened code, but for now just mark them as unspecified instead. On the bright side, this documents the nature of the returned pointers nicely.
2020-11-12Add missing const qualifiersDavid Robillard1-4/+4
2020-11-12Factor out output style selectionDavid Robillard1-22/+34
2020-11-12Suppress nullability warnings in testsDavid Robillard1-0/+1
2020-11-12Use built-in abspath()David Robillard1-1/+1
2020-11-11Set up environment for using serdi as a subprojectDavid Robillard1-0/+9
2020-11-11Disable coverage on sanitizer CI rowDavid Robillard1-1/+1
2020-11-11Fix link errors with sanitizers at the source in autowafDavid Robillard2-6/+0
2020-11-11Fix build as a subprojectDavid Robillard1-5/+7
2020-11-11Clean up attributes in reference documentationDavid Robillard1-1/+5
This is a bit unfortunate since they are quite useful as documentation, but unfortunately Doxygen (as usual) doesn't manage to format things nicely, and the noise makes the summaries unreadable.
2020-11-11Add CI row to run clang sanitizersDavid Robillard2-0/+24
Some of these are also supported by GCC, but clang supports more and clang on Linux was uncovered before anyway, so this fixes that situation as well.
2020-11-11Add nonnull and nullable attributes to APIDavid Robillard5-183/+226
This will warn if NULL is passed to any nonnull-annotated parameter, and is also supported by sanitizers which can check for violations at runtime. Unfortunately, it is currently only supported by clang. GCC has a similar feature in the nonnull attribute, but this has a different syntax (it's a function attribute) and is more dangerous since it is used by the optimizer to assume a null pointer is undefined behavior. This one just warns and still allows code to handle the situation gracefully, which I think is more appropriate for a library API. Note that this optimization behavior is not some unlikely edge case: switching these attributes to the GCC one will break release builds.
2020-11-10Fix potential memory error when serialising URIsDavid Robillard2-2/+4
2020-11-10Fix memory leak in chunk reading testDavid Robillard1-0/+1
2020-11-10Add const, pure, and malloc function attributesDavid Robillard9-18/+56
2020-11-10Simplify visibility boilerplateDavid Robillard1-13/+6
2020-11-10Fix warnings in MinGW buildDavid Robillard1-0/+3
2020-11-10Fix header installationDavid Robillard1-1/+1
2020-11-10Define WIN32_LEAN_AND_MEANDavid Robillard1-0/+1
2020-11-09Add a test for reading strings with no trailing newlineDavid Robillard1-0/+23
2020-11-09Use separate clang-tidy configurations for implementation and testsDavid Robillard2-4/+9
2020-11-09Split out reader and writer testsDavid Robillard3-169/+207
2020-11-09Split out string testsDavid Robillard3-32/+66