aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2021-04-09Write invalid characters in URIs with percent encodingDavid Robillard1-5/+9
2021-04-09Write statements with invalid URI characters in lax modeDavid Robillard1-9/+9
2021-02-15Fix writing long literals with triple quotesDavid Robillard2-3/+11
2021-01-20Serd 0.30.10v0.30.10David Robillard1-1/+1
2021-01-17Remove aligned_alloc supportDavid Robillard2-19/+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-10Add missing includesDavid Robillard1-0/+2
2021-01-10Avoid use of strcpyDavid Robillard1-3/+3
Again, really just skirting around warnings here, but this is faster anyway since we know what we're doing here and doing require any fine-grained null termination.
2021-01-09Only define WIN32_LEAN_AND_MEAN for MSVCDavid Robillard1-1/+3
This avoids a warning with MinGW.
2021-01-09Avoid GCC warning about printed string overflowDavid Robillard1-9/+14
GCC seems to think there was a potential overflow here, but I don't see it. I think it just can't figure out that the printed text and the size both depend on the same variable. In any case, avoiding formatting functions here avoids the warning, and is probably faster anyway.
2021-01-09Avoid GCC warning about potential signed overflowDavid Robillard1-1/+1
2021-01-09Add missing pure attributesDavid Robillard2-2/+2
2021-01-09Fix fallback aligned_alloc() detectionDavid Robillard1-1/+1
2021-01-09Fix SERD_DISABLE_DEPRECATEDDavid Robillard1-1/+1
2021-01-07Update fallback versionDavid Robillard1-1/+1
Oops.
2021-01-02Update date in version outputDavid Robillard1-1/+1
2021-01-02Use email address instead of website for attributionDavid Robillard23-24/+24
2021-01-01Remove the need for a generated configuration headerDavid Robillard3-6/+121
2020-12-31Format all code with clang-formatDavid Robillard22-3873/+4116
2020-12-31Avoid "else" after "break" and "return"David Robillard11-53/+117
2020-12-15Clean up includesDavid Robillard5-7/+7
2020-12-15Suppress new clang-tidy warningsDavid Robillard1-1/+6
2020-11-15Only use aligned_alloc in C11David Robillard1-1/+1
2020-11-14Deprecate serd_uri_to_path()David Robillard1-2/+8
2020-11-14Refuse to write relative URI references to NTriplesDavid Robillard1-0/+15
2020-11-14Simplify abbreviated URI writing codeDavid Robillard1-13/+14
2020-11-13Fix test coverageDavid Robillard1-9/+7
2020-11-13Remove dead codeDavid Robillard2-22/+0
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