Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-03-08 | Add input base URI option | David Robillard | 4 | -12/+35 | |
2021-03-08 | WIP: Make Writer always write to a ByteSink | David Robillard | 10 | -158/+202 | |
2021-03-08 | Fix crash when attempting to read before starting | David Robillard | 2 | -0/+7 | |
2021-03-08 | Make serd_uri_string_length() precise and add it to public API | David Robillard | 3 | -23/+61 | |
2021-03-08 | Add serd_new_real_file_uri() | David Robillard | 4 | -1/+92 | |
2021-03-08 | Clean up file URI tests | David Robillard | 1 | -9/+7 | |
2021-03-08 | Use a manual type-safe stack in SerdWriter | David Robillard | 1 | -31/+24 | |
This fixes alignment issues on ARM. Since this stack is just for WriteContext which has a fixed size, using SerdStack here just made things more confusing anyway. | |||||
2021-03-08 | Emit reader errors on stack overflows in string literals | David Robillard | 1 | -1/+9 | |
2021-03-08 | Simplify ByteSource implementation | David Robillard | 2 | -30/+20 | |
2021-03-08 | WIP: Make serd_env_expand() always return a node if it is not relative | David Robillard | 4 | -41/+190 | |
The old interface was potentially faster, because it avoided unnecessary copies, but was annoying to use and problematic because nodes that don't need expansion were indistinguishable from nodes that failed to expand (like those that use undefined namespace prefixes). In the grand scheme of things, the potential performance improvement isn't worth it, and unexpected unexpanded nodes causes deep nightmarish problems, so just make serd_env_expand() copy the input if it doesn't need expansion to make the API simpler and safer. | |||||
2021-03-08 | Make it possible to allocate nodes with CURIE datatypes | David Robillard | 3 | -7/+10 | |
2021-03-08 | Remove double allocation in serd_env_set_prefix() | David Robillard | 1 | -6/+7 | |
2021-03-08 | Remove double allocations in serd_env_expand() | David Robillard | 4 | -24/+90 | |
2021-03-08 | Move local URI utility functions | David Robillard | 1 | -28/+28 | |
2021-03-08 | Split up node expansion code | David Robillard | 1 | -32/+53 | |
2021-03-08 | Clean up Env tests and behaviour | David Robillard | 2 | -69/+185 | |
2021-03-08 | Make const Env functions tolerant of NULL | David Robillard | 3 | -5/+17 | |
This is convenient in places where you don't necessarily need an Env, since in this case these methods work the same as if with an empty Env. | |||||
2021-03-08 | Split up serd_internal.h | David Robillard | 11 | -17/+34 | |
2021-03-08 | Add empty syntax type for suppressing output | David Robillard | 7 | -17/+70 | |
2021-03-08 | Replace serd_reader_set_strict() with SerdReaderFlags | David Robillard | 7 | -48/+41 | |
This makes reader options extensible and should hopefully prevent the need for grafting on more similar functions in the future. | |||||
2021-03-08 | Report writer errors and add strict write mode | David Robillard | 7 | -180/+303 | |
2021-03-08 | Align node allocations | David Robillard | 7 | -21/+61 | |
2021-03-08 | Add support for writing terse collections | David Robillard | 11 | -15/+211 | |
2021-03-08 | Tolerate lack of predicate when context is popped | David Robillard | 1 | -1/+2 | |
2021-03-08 | Reset writer to empty when finished to avoid spurious blank lines | David Robillard | 1 | -0/+1 | |
2021-03-08 | Pass context flags to write_sep() | David Robillard | 1 | -22/+24 | |
2021-03-08 | Add initial flags to write context | David Robillard | 1 | -21/+24 | |
2021-03-08 | Simplify internal writer context API | David Robillard | 1 | -31/+31 | |
2021-03-08 | Strengthen writer statement preconditions | David Robillard | 1 | -1/+3 | |
2021-03-08 | Add option for writing terse output without newlines | David Robillard | 5 | -27/+34 | |
2021-03-08 | Factor out writing top level separator | David Robillard | 1 | -7/+10 | |
2021-03-08 | Support reading lone lists in lax mode | David Robillard | 1 | -1/+1 | |
This allows parsing documents like "(42) ." | |||||
2021-03-08 | WIP: Fix reading from socket-like streams | David Robillard | 1 | -0/+1 | |
2021-03-08 | Make reader tolerant of being started several times | David Robillard | 1 | -0/+4 | |
2021-03-08 | WIP: Write invalid characters in URIs with percent encoding | David Robillard | 2 | -5/+11 | |
2021-03-08 | Fix socket-like stream reading test | David Robillard | 1 | -3/+5 | |
2021-03-08 | Handle read errors more precisely | David Robillard | 5 | -29/+24 | |
2021-03-08 | Add stack overflow tests | David Robillard | 2 | -0/+69 | |
2021-03-08 | Simplify reader stack pushing code | David Robillard | 1 | -6/+6 | |
2021-03-08 | Clean up env test | David Robillard | 1 | -4/+4 | |
2021-03-08 | Use simpler names for statement flags | David Robillard | 3 | -27/+24 | |
2021-03-08 | Simplify streaming API and improve pretty printing | David Robillard | 9 | -174/+374 | |
This removes the obligation from the caller to correctly maintain flags to describe the current anonymous context, instead making the writer handle this itself as much as possible. Flags remain for the cases the writer can not infer from context: the start of anonymous subject and object nodes. | |||||
2021-03-08 | WIP: Leave statement cursor at the start of literals | David Robillard | 1 | -1/+11 | |
2021-03-08 | Cache commonly used nodes in the world | David Robillard | 4 | -15/+58 | |
2021-03-08 | Add SerdNodes class for storing a cache of nodes | David Robillard | 8 | -2/+305 | |
2021-03-08 | Add zix data structures | David Robillard | 9 | -1/+1839 | |
2021-03-08 | Add serd_env_copy() and serd_env_equals() | David Robillard | 3 | -0/+75 | |
2021-03-08 | Separate ByteSink from Writer | David Robillard | 4 | -17/+26 | |
2021-03-08 | Expose SerdByteSink in public API | David Robillard | 5 | -5/+150 | |
2021-03-08 | Simplify writer style options | David Robillard | 6 | -52/+34 | |