Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-12-02 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 1 | -5/+5 | |
2023-12-02 | Split out simple reader unit tests | David Robillard | 1 | -317/+3 | |
2023-12-02 | Reduce complexity of statement writing functions | David Robillard | 1 | -1/+1 | |
2023-12-02 | Add a set of limits to the world | David Robillard | 1 | -8/+14 | |
The idea here is to remove the burden of passing things around like stack sizes (where most users don't care and will be happy with a reasonably large default) and keeping the call sites to things like serd_reader_new() clean. The cost is a bit more state, so it's both more powerful and more potentially flaky, since changing the limits has action at a distance that isn't clear from the call site. I think it's worth it for the cleaner API in the common case, and the much better forward compatibility. | |||||
2023-12-02 | Replace SERD_WRITE_STRICT flag with SERD_WRITE_LAX | David Robillard | 1 | -6/+5 | |
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. | |||||
2023-12-02 | Replace multiple stream callbacks with SerdEvent | David Robillard | 1 | -129/+87 | |
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. | |||||
2023-12-02 | Simplify writer style options and write UTF-8 by default | David Robillard | 1 | -2/+1 | |
2023-12-02 | Add SerdStatement | David Robillard | 1 | -10/+4 | |
2023-12-02 | Add SerdCaret | David Robillard | 1 | -2/+3 | |
2023-12-02 | Remove serd_reader_set_default_graph() | David Robillard | 1 | -14/+7 | |
2023-12-02 | Add SerdWorld for shared library state | David Robillard | 1 | -27/+31 | |
2023-12-02 | Clean up nodes in reader/writer tests | David Robillard | 1 | -12/+20 | |
2023-12-02 | Use a fixed-size reader stack | David Robillard | 1 | -8/+12 | |
2023-12-02 | Simplify reader interface | David Robillard | 1 | -32/+38 | |
2023-12-02 | Add SerdSink interface and hide implementations | David Robillard | 1 | -56/+53 | |
2023-12-02 | Bring read/write interface closer to the C standard | David Robillard | 1 | -7/+14 | |
2023-12-02 | Simplify literal construction API | David Robillard | 1 | -3/+2 | |
2023-12-02 | Simplify node construction API | David Robillard | 1 | -23/+32 | |
2023-12-02 | Merge datatype/language into node | David Robillard | 1 | -43/+15 | |
This moves closer to the sord API, and is more convenient in most cases. | |||||
2023-12-02 | Make nodes opaque | David Robillard | 1 | -59/+48 | |
2023-12-02 | Use more human-readable status codes | David Robillard | 1 | -1/+1 | |
2023-12-02 | Split up public API header | David Robillard | 1 | -1/+12 | |
2023-12-02 | Remove "get" from accessor names | David Robillard | 1 | -5/+5 | |
2023-12-02 | Rename function types for consistency | David Robillard | 1 | -4/+4 | |
2023-12-02 | Rename SerdStyle to SerdWriterFlags | David Robillard | 1 | -7/+8 | |
2023-12-02 | Add SerdBuffer type for mutable buffers | David Robillard | 1 | -11/+11 | |
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks. | |||||
2023-12-02 | Use char* for strings in public API | David Robillard | 1 | -31/+29 | |
The constant casting just makes user code a mess, for no benefit. | |||||
2023-05-03 | Make serd_reader_read_chunk() work with NQuads | David Robillard | 1 | -7/+101 | |
2023-04-16 | Gracefully handle errors when writing text | David Robillard | 1 | -0/+97 | |
2023-04-02 | Improve TriG pretty-printing and remove trailing newlines | David Robillard | 1 | -2/+2 | |
2022-11-25 | Avoid use of tmpfile() | David Robillard | 1 | -28/+35 | |
Somewhat temporary solution, since we'll soon be able to use zix here which has nice portable functions to create temporary files. | |||||
2022-11-25 | Avoid creating test files in the current directory | David Robillard | 1 | -1/+21 | |
2022-11-25 | Merge similar tests | David Robillard | 1 | -33/+119 | |
2022-11-24 | Check serd_writer_write_statement() return value | David Robillard | 1 | -2/+2 | |
2022-10-23 | Fix crash when trying to read chunks without starting | David Robillard | 1 | -0/+2 | |
2022-08-31 | Adopt REUSE machine-readable licensing standard | David Robillard | 1 | -15/+2 | |
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 | |