aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-11-13Simplify writer statement validity checkingDavid Robillard1-5/+3
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 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 Robillard3-5/+14
Some of these cause warnings, and should never have been used in the first place since they depend on locale.
2020-11-13Allow setting the base URI of an Env to NULLDavid Robillard1-2/+6
2020-11-13Use aligned allocation via C11 or Windows API where possibleDavid Robillard4-12/+63
2020-11-12Use C11 if possibleDavid Robillard1-0/+1
2020-11-12Add missing const qualifiersDavid Robillard1-4/+4
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