aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-12-20Improve add and chop prefix functions when given empty stringsDavid Robillard2-8/+10
2019-12-20Simplify handling of input string argumentsDavid Robillard1-10/+11
2019-12-20Add input base URI optionDavid Robillard1-5/+9
2019-12-20Remove redundant castsDavid Robillard1-5/+5
2019-12-20Replace serd_reader_set_strict() with SerdReaderFlagsDavid Robillard3-16/+12
This makes reader options extensible and should hopefully prevent the need for grafting on more similar functions in the future.
2019-12-20Report writer errors and add strict write modeDavid Robillard3-174/+233
2019-12-20Fix node alignment on 32-bit ARMDavid Robillard3-2/+5
2019-12-20Make node size always 64 bitsDavid Robillard1-1/+2
This ensures that sizeof(SerdNode) is a power of two, even on 32-bit platforms, which is required by posix_memalign.
2019-12-20Allocate nodes with posix_memalign when availableDavid Robillard3-9/+43
This fixes platforms where the system malloc returns memory that is not aligned to sizeof(SerdNode) (128 bits).
2019-12-20Avoid absurd Windows warnings about "deprecated" POSIX functionsDavid Robillard1-2/+2
2019-12-20Add support for writing terse collectionsDavid Robillard1-12/+23
2019-12-20Tolerate lack of predicate when context is poppedDavid Robillard1-1/+2
2019-12-20Reset writer to empty when finished to avoid spurious blank linesDavid Robillard1-0/+1
2019-12-20Pass context flags to write_sep()David Robillard1-22/+24
2019-12-20Add initial flags to write contextDavid Robillard1-13/+16
2019-12-20Factor out pushing and popping writer contextDavid Robillard1-35/+44
2019-12-20Strengthen writer statement preconditionsDavid Robillard1-1/+3
2019-12-20Add option for writing terse output without newlinesDavid Robillard3-24/+29
2019-12-20Factor out writing top level separatorDavid Robillard1-6/+10
2019-12-20Rename SERD_STYLE_ASCII to SERD_WRITE_ASCIIDavid Robillard2-2/+2
2019-12-20Support reading lone lists in lax modeDavid Robillard1-1/+1
This allows parsing documents like "(42) ."
2019-12-20Simplify writer statement validity checkingDavid Robillard1-3/+2
2019-12-20Fix reading from socket-like streams and add testDavid Robillard1-1/+1
2019-12-20Make reader tolerant of being started several timesDavid Robillard1-0/+4
2019-12-20Remove pointless switch statementDavid Robillard1-3/+1
2019-12-20Fix various warnings and conversion issuesDavid Robillard12-49/+44
2019-12-20Add serd_new_boolean()David Robillard2-0/+7
2019-12-20Remove reader status and handle errors more preciselyDavid Robillard5-41/+33
2019-12-20Add model validationDavid Robillard2-0/+881
2019-12-20Add modelDavid Robillard13-2/+1568
2019-12-19Use conventional short variable name for statusDavid Robillard1-13/+13
2019-12-19Use consistent naming for function typesDavid Robillard3-12/+12
2019-12-19Add extensible logging APIDavid Robillard6-43/+172
2019-12-19Add Env to SinkDavid Robillard5-59/+56
This isn't technically necessary for any sink, but is a pattern common to every sink implementation in serd, so having it here reduces boilerplate and parameters in user code.
2019-12-19Rename SerdStyle to SerdWriterFlagsDavid Robillard2-28/+28
2019-12-19Rename SerdType to SerdNodeTypeDavid Robillard4-17/+22
The old name has become ambiguous with the expanded scope of serd.
2019-12-19Clean up and expose base64 implementationDavid Robillard3-55/+13
2019-12-19Expose the node cache in the worldDavid Robillard1-0/+6
2019-12-19Remove serd_env_foreach()David Robillard1-10/+0
2019-12-19Add serd_env_write_prefixes()David Robillard1-0/+9
2019-12-19Add serd_node_compare()David Robillard1-0/+19
2019-12-19Fix writer flags typeDavid Robillard1-18/+18
2019-12-19Simplify reader stack pushing codeDavid Robillard1-8/+10
2019-12-19Ensure serd_new_resolved_uri returns an absolute URI or NULLDavid Robillard2-7/+14
2019-12-19Use simpler names for statement flagsDavid Robillard2-16/+16
2019-12-19Simplify streaming API and improve pretty printingDavid Robillard3-124/+155
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.
2019-12-19Cache commonly used nodes in the worldDavid Robillard3-14/+32
2019-12-19Add SerdNodes class for storing a cache of nodesDavid Robillard3-1/+143
2019-12-19Add serd_env_copy() and serd_env_equals()David Robillard1-0/+36
2019-12-19Separate ByteSink from WriterDavid Robillard2-12/+13