aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2022-01-13Simplify literal construction APIDavid Robillard1-32/+62
2022-01-13Move syntax name/extension utilities to public APIDavid Robillard2-51/+73
2022-01-13Improve reader error handlingDavid Robillard3-131/+186
2022-01-13Set flags directly when reading literal nodesDavid Robillard1-61/+43
2022-01-13Add debug checks for node paddingDavid Robillard3-14/+37
2022-01-13Zero node padding before passing to reader sinksDavid Robillard5-2/+41
2022-01-13Remove datatype and language from reader contextDavid Robillard2-38/+31
2022-01-13Simplify stack management by popping in bulk at higher levelsDavid Robillard4-126/+49
Since all memory used by the reader is POD in the stack, there is no benefit to forcing code to explicitly pop everything pushed to the stack, since any function can record an offset and pop back down to it regardless of what its callers pushed if it knows that it does not need those items.
2022-01-13Handle writer stack overflows gracefullyDavid Robillard1-7/+18
2022-01-13Use a fixed-size reader stackDavid Robillard8-199/+259
2022-01-13Simplify reader interfaceDavid Robillard6-186/+108
2022-01-13Add SerdSink interface and hide implementationsDavid Robillard7-80/+200
2022-01-13Bring read/write interface closer to C standardDavid Robillard8-58/+62
2022-01-13Set datatypes on integer, decimal, and base64 nodesDavid Robillard2-27/+89
2022-01-13Simplify node construction APIDavid Robillard5-184/+214
2022-01-13Merge datatype/language into nodeDavid Robillard5-75/+171
This moves closer to the sord API, and is more convenient in most cases.
2022-01-13Simplify URI API and implementationDavid Robillard8-318/+280
2022-01-13Add nullability annotations to internal node functionsDavid Robillard1-6/+7
2022-01-13Add serd_node_uri_view()David Robillard1-0/+12
2022-01-13Add serd_node_string_view()David Robillard1-0/+8
2022-01-13Align node allocationsDavid Robillard3-11/+55
2022-01-13Make nodes opaqueDavid Robillard11-302/+356
2022-01-13Add node accessor APIDavid Robillard1-0/+24
2022-01-13Shorten node constructor namesDavid Robillard3-29/+27
2022-01-13Remove redundant null check in serd_env_set_base_uri()David Robillard1-1/+1
The env parameter here is declared as nonnull in the API, so it is an error to call it with NULL (which clang can statically flag as a warning).
2022-01-13Remove "get" from accessor namesDavid Robillard3-7/+10
2022-01-13Rename function types for consistencyDavid Robillard7-36/+36
2022-01-13Rename SerdStyle to SerdWriterFlagsDavid Robillard2-35/+35
2022-01-13Rename SerdType to SerdNodeTypeDavid Robillard4-21/+24
The old name will be even more ambiguous with the increased scope.
2022-01-13Rename SerdURI to SerdURIViewDavid Robillard6-65/+67
2022-01-13Rename SerdChunk to SerdStringViewDavid Robillard4-19/+14
2022-01-13Use char* for strings in public APIDavid Robillard16-242/+217
The constant casting just makes user code a mess, for no benefit.
2022-01-13Add SerdBuffer type for mutable buffersDavid Robillard4-24/+23
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2022-01-13Remove support for Turtle named inline nodes extensionDavid Robillard2-51/+6
2022-01-13Remove escape parameter from serd_node_new_file_uriDavid Robillard2-4/+3
Since characters are escaped because they are not valid characters in a URI, any use of this function without escaping is problematic at best.
2022-01-13Remove useless character countingDavid Robillard7-79/+43
2022-01-13Remove serd_uri_to_path()David Robillard1-26/+1
2022-01-13Define _POSIX_C_SOURCE globally in the build systemDavid Robillard3-6/+0
Using inconsistent defines like this that affect the standard library implementation can cause issues. So, doing this consistently for the whole library is a better approach, although it unfortunately makes the code more difficult to compile manually.
2022-01-13Suppress new warnings in clang-tidy 13David Robillard1-1/+2
2021-07-08Suppress new warnings in clang-tidy 12David Robillard1-0/+3
2021-06-30Move local URI utility functionsDavid Robillard1-28/+28
2021-06-30Make node qualify and expand functions tolerate a null EnvDavid Robillard1-0/+12
This is convenient in places where you don't necessarily need an Env, since these methods will work the same as with an empty Env.
2021-06-30Avoid writing invalid prefixed name prefixesDavid Robillard1-1/+2
2021-05-31Make most function parameters constDavid Robillard11-212/+283
More const never hurts in general, but in particular this allows the compiler to make better nullability deductions, which reduces the amount of manual nullability casting required.
2021-05-31Fix include orderDavid Robillard1-1/+2
2021-05-31Remove "static inline" for functions in implementation filesDavid Robillard7-26/+26
This is just noise since these are static functions local to a C compilation unit.
2021-05-31Remove default case from exhaustive switchDavid Robillard2-2/+1
2021-05-31Clean up switch case commentsDavid Robillard1-5/+5
2021-05-31Fix unannotated switch fallthroughsDavid Robillard2-7/+27
Unfortunately, clang does not support doing this with comments, requiring yet more preprocessor gunk.
2021-05-31Fix some conversion warningsDavid Robillard3-7/+7