aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-11-12Factor out output style selectionDavid Robillard1-22/+34
2020-11-11Add nonnull and nullable attributes to APIDavid Robillard2-0/+2
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 Robillard1-1/+2
2020-11-10Add const, pure, and malloc function attributesDavid Robillard7-10/+40
2020-11-10Define WIN32_LEAN_AND_MEANDavid Robillard1-0/+1
2020-11-09Use separate clang-tidy configurations for implementation and testsDavid Robillard1-0/+13
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-09-27Update stale copyright datesDavid Robillard3-3/+3
2020-08-16Use conventional short variable name for statusDavid Robillard1-8/+8
2020-08-16Ensure that all free methods tolerate NULLDavid Robillard3-0/+12
2020-08-16Fix handling of bad syntax that ends a collectionDavid Robillard1-1/+2
2020-08-16Fix EOF and null byte handlingDavid Robillard1-3/+6
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-15Clean up reader error handlingDavid Robillard3-311/+358
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 Robillard1-9/+39
2020-08-14Fix incorrect separator lengthDavid Robillard1-1/+1
2020-08-14Avoid absurd Windows warnings about "deprecated" POSIX functionsDavid Robillard1-2/+2
2020-08-14Fix Wswitch-enum warningsDavid Robillard2-12/+14
2020-08-14Make serd_stack_push() return a void pointerDavid Robillard2-2/+2
This avoids some unnecessary type punning.
2020-08-14Avoid copying nodes when equivalent prefixes are setDavid Robillard1-3/+5
2020-08-14Separate base64 implementationDavid Robillard4-82/+174
2020-08-14Use SerdNodeFlags type everywhereDavid Robillard1-7/+7
2020-08-14Clean up and separate internal headersDavid Robillard18-597/+861
2020-07-06Fix spurious semicolon warningsDavid Robillard4-12/+14
2020-07-06Fix format conversion warningsDavid Robillard2-4/+10
2020-07-05Remove redundant switch statementDavid Robillard1-3/+1
2020-07-05Remove unreachable codeDavid Robillard1-3/+2
2020-06-21Cleanup: Add missing default switch casesDavid Robillard3-0/+13
2020-06-21Cleanup: Fix uninitialised variablesDavid Robillard4-28/+29
2020-06-21Cleanup: Avoid declaring multiple variables on a single lineDavid Robillard1-1/+3
2020-06-21Cleanup: Remove unnecessary storesDavid Robillard2-2/+2
2020-06-21Clean up includesDavid Robillard11-25/+63
2020-04-26Fix potential passing of NULL to printfDavid Robillard1-1/+1
2019-12-08Fix reading from a null-delimited socketDavid Robillard1-0/+6
2019-10-27Simplify syntax dispatch conditionDavid Robillard1-4/+2
This avoids the Wswitch-enum warning in clang.
2019-10-27Fix EOF handling while reading in bulk or from stringsDavid Robillard3-17/+34
2019-10-27Use int as internal character type so it can represent EOFDavid Robillard3-80/+94
2019-10-27Fix integer conversion warningsDavid Robillard7-33/+40
2019-10-27Fix lax handling of string errors and add separate lax test suiteDavid Robillard1-10/+13
2019-04-20Fix incorrect print format argumentsDavid Robillard2-2/+11
2019-03-30Fix parsing "a" abbreviation without padding whitespaceDavid Robillard1-13/+2
2019-03-17Fix bug parsing TriG graphs with several squashed trailing dotsDavid Robillard1-2/+2