aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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
2020-11-09Split out URI testsDavid Robillard3-137/+174
2020-11-09Rename unit tests to start with a consistent prefixDavid Robillard5-8/+8
2020-11-09Fix clang-tidy hicpp-signed-bitwise warnings in headerDavid Robillard2-16/+16
In exchange for suppressing a pointless superficial warning instead, but I dislike that convention since it looks confusing when hex digits are used and it's inconsistent with near-universal floating point suffix convention.
2020-11-09Check headers with stricter clang-tidy settingsDavid Robillard2-1/+10
2020-11-09Move header to conventional include directoryDavid Robillard4-6/+7
2020-11-09Rename test directoryDavid Robillard1184-32/+38
2020-10-28Simplify reader byte reading interfaceDavid Robillard1-10/+3
This eliminates eat_byte() and the way it conflates the status of advancing the source with the current character, which can cause problems with custom sinks.
2020-10-27Update autowafDavid Robillard1-0/+0
2020-10-27Update autowafDavid Robillard2-2/+2
2020-09-27Serd 0.30.6v0.30.6David Robillard2-3/+3
2020-09-27Update stale copyright datesDavid Robillard5-5/+5
2020-09-26Update autowafDavid Robillard1-0/+0
2020-09-26Update autowafDavid Robillard1-0/+0
2020-08-16Use conventional short variable name for statusDavid Robillard1-8/+8
2020-08-16Ensure that all free methods tolerate NULLDavid Robillard6-1/+49
2020-08-16Move Env tests to a separate fileDavid Robillard3-64/+97
2020-08-16Add test for reading chunksDavid Robillard2-0/+122
2020-08-16Fix loop index variable typeDavid Robillard1-5/+5
2020-08-16Fix handling of bad syntax that ends a collectionDavid Robillard3-1/+9
2020-08-16Fix EOF and null byte handlingDavid Robillard3-3/+12
This is a bit questionable, but the null byte support is needed for streaming over a socket where some delimiter is required. This caused a bug where serdi would hang forever on corrupt files that contain a null byte. Fix this by consuming the byte, but otherwise behaving as before.
2020-08-16Add a test for reading from socket-like streamsDavid Robillard1-0/+61
2020-08-15Clean up reader error handlingDavid Robillard5-315/+363
2020-08-15Make read_String() return a statusDavid Robillard1-42/+47
2020-08-15Make read_IRIREF_scheme() return a statusDavid Robillard1-15/+11
2020-08-15Make r_err() return a statusDavid Robillard3-57/+80
2020-08-15Make read_PrefixedName() return a statusDavid Robillard1-12/+17
2020-08-15Make read_PERCENT() return a statusDavid Robillard1-8/+4
2020-08-15Make read_UCHAR() and read_ECHAR() return a statusDavid Robillard1-21/+21
2020-08-15Exploit push_byte return statusDavid Robillard1-2/+1
2020-08-15Move prototype to a more sensible locationDavid Robillard1-4/+4
2020-08-15Fix stack check C++ compatibilityDavid Robillard1-1/+1
2020-08-15Harden prefixed name parsingDavid Robillard4-10/+49
2020-08-14Update autowafDavid Robillard1-0/+0
2020-08-14Use ultra-strict warnings and Werror on Windows CI rowsDavid Robillard2-2/+4
2020-08-14Factor out command wrapping for ARM emulatorDavid Robillard1-5/+9
2020-08-14Factor out test option iterator generationDavid Robillard1-7/+12
2020-08-14Use one sentence per line in man pageDavid Robillard1-7/+5
This apparently lets troff do line wrapping better in some scenarios, and is the best practice for text in revision control anyway.
2020-08-14Avoid use of rand()David Robillard2-12/+3