Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-28 | Provide a full output stream implementation for SerdBuffer | David Robillard | 1 | -1/+1 | |
Essentially replaces serd_buffer_sink_finish() with serd_buffer_close(), which makes writing to a buffer consistent with writing to a file or anything else. | |||||
2022-01-28 | Make blank node prefixing automatic | David Robillard | 1 | -14/+0 | |
Though potentially useful, I don't think the complexity cost of the old interface (both to the implementation and to the user) is worth it. A special tool to transform blank node labels (for example with regular expressions) would be a better approach to this if it's ever needed in the future. | |||||
2022-01-28 | Add a close function to SerdByteSink | David Robillard | 1 | -3/+2 | |
This simplifies everything by replacing special cases with a more general close function. A type is no longer stored in the structure, so the other constructors are now essentially syntactic sugar for the universal serd_byte_sink_new_function(). | |||||
2022-01-14 | Preserve long or short quoting from input documents | David Robillard | 1 | -2/+2 | |
2022-01-14 | Move SerdEnv mutation from writer to reader | David Robillard | 1 | -3/+6 | |
Writing having side-effects seems questionable in general, and this prepares things for expanding URIs in the reader. | |||||
2022-01-13 | Make Reader always read from a ByteSource | David Robillard | 1 | -8/+5 | |
2022-01-13 | Fix crash when attempting to read before starting | David Robillard | 1 | -0/+3 | |
2022-01-13 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 1 | -2/+2 | |
2022-01-13 | Split out simple reader unit tests | David Robillard | 1 | -176/+0 | |
2022-01-13 | Make Writer always write to a ByteSink | David Robillard | 1 | -7/+10 | |
2022-01-13 | Replace SERD_WRITE_STRICT flag with SERD_WRITE_LAX | David Robillard | 1 | -2/+2 | |
The unset value for flags should represent the best default, which in this case is strict parsing. Lax parsing is the riskier opt-in option. | |||||
2022-01-13 | Separate ByteSink from writer | David Robillard | 1 | -3/+7 | |
2022-01-13 | Replace multiple stream callbacks with SerdEvent | David Robillard | 1 | -22/+14 | |
This makes plumbing easier since everything goes through the same "stream" and only one callback is required to handling everything. It's also more easily extensible in case more event types need to be added in the future. | |||||
2022-01-13 | Use SerdNodes to simplify some tests | David Robillard | 1 | -25/+18 | |
2022-01-13 | Add SerdStatement | David Robillard | 1 | -10/+6 | |
2022-01-13 | Add SerdCaret | David Robillard | 1 | -1/+2 | |
2022-01-13 | Remove serd_reader_set_default_graph() | David Robillard | 1 | -37/+23 | |
2022-01-13 | Add SerdWorld for shared library state | David Robillard | 1 | -8/+18 | |
2022-01-13 | Clean up nodes in reader/writer tests | David Robillard | 1 | -12/+20 | |
2022-01-13 | Simplify literal construction API | David Robillard | 1 | -3/+2 | |
2022-01-13 | Use a fixed-size reader stack | David Robillard | 1 | -7/+10 | |
2022-01-13 | Simplify reader interface | David Robillard | 1 | -28/+33 | |
2022-01-13 | Add SerdSink interface and hide implementations | David Robillard | 1 | -28/+37 | |
2022-01-13 | Bring read/write interface closer to C standard | David Robillard | 1 | -2/+3 | |
2022-01-13 | Simplify node construction API | David Robillard | 1 | -21/+29 | |
2022-01-13 | Merge datatype/language into node | David Robillard | 1 | -43/+15 | |
This moves closer to the sord API, and is more convenient in most cases. | |||||
2022-01-13 | Make nodes opaque | David Robillard | 1 | -53/+48 | |
2022-01-13 | Remove "get" from accessor names | David Robillard | 1 | -4/+4 | |
2022-01-13 | Rename SerdStyle to SerdWriterFlags | David Robillard | 1 | -5/+4 | |
2022-01-13 | Use char* for strings in public API | David Robillard | 1 | -29/+27 | |
The constant casting just makes user code a mess, for no benefit. | |||||
2022-01-13 | Add SerdBuffer type for mutable buffers | David Robillard | 1 | -5/+5 | |
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks. | |||||
2021-07-10 | Fix out of bounds read in test | David Robillard | 1 | -0/+4 | |
2021-07-10 | Clean up socket-like stream reading test | David Robillard | 1 | -5/+17 | |
2021-04-09 | Write statements with invalid URI characters in lax mode | David Robillard | 1 | -0/+1 | |
2021-01-02 | Use email address instead of website for attribution | David Robillard | 1 | -1/+1 | |
2020-12-31 | Format all code with clang-format | David Robillard | 1 | -261/+268 | |
2020-11-13 | Remove tests that pass null to nonnull parameters | David Robillard | 1 | -6/+2 | |
2020-11-11 | Add nonnull and nullable attributes to API | David Robillard | 1 | -0/+8 | |
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-09 | Add a test for reading strings with no trailing newline | David Robillard | 1 | -0/+23 | |
2020-11-09 | Split out reader and writer tests | David Robillard | 1 | -0/+329 | |