aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.c
AgeCommit message (Collapse)AuthorFilesLines
2018-05-27Separate base64 implementationDavid Robillard1-34/+6
2018-05-27Clean up node construction APIDavid Robillard1-65/+81
2018-05-27Clean up includes and improve source file separationDavid Robillard1-3/+5
2018-05-27Add blank node APIDavid Robillard1-0/+15
2018-05-27Make serd_node_new_literal take datatype as a nodeDavid Robillard1-6/+8
2018-05-27Remove redundant SERD_API declarationsDavid Robillard1-20/+0
2018-05-27Clean up and separate internal headersDavid Robillard1-8/+5
2018-05-27Merge datatype and/or language into nodeDavid Robillard1-11/+121
This moves closer to the sord API, and is more convenient in most cases.
2018-05-27Make nodes opaqueDavid Robillard1-71/+97
2018-05-27Use opaque node APIDavid Robillard1-4/+11
2018-05-27Add node accessor APIDavid Robillard1-0/+28
2018-05-27Use char* for strings in public APIDavid Robillard1-29/+28
The constant casting just makes user code a mess, for no benefit.
2018-05-27Remove useless character countingDavid Robillard1-20/+14
2018-05-27Use SerdBuffer for mutable buffersDavid Robillard1-8/+9
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2017-07-09Add serd_node_from_substring()David Robillard1-1/+17
This allows creating nodes in-place from substrings of other strings to allow zero-copy serialization from existing delimited buffers.
2017-06-30Fix various clang-tidy issuesDavid Robillard1-4/+4
2016-07-31Fix compilation with mingwDavid Robillard1-2/+6
2016-07-10Add serd_node_new_relative_uri()David Robillard1-0/+26
2016-07-10Shrink codeDavid Robillard1-5/+3
2016-07-09Fix construction of URIs with UTF-8 charactersDavid Robillard1-7/+5
2015-10-07Update copyright datesDavid Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/serd/trunk@500 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2015-04-04Fix serializing fractional decimals that would round up.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/serd/trunk@489 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2014-10-03Remove dependence on fmax() to avoid portability issues.David Robillard1-2/+9
git-svn-id: http://svn.drobilla.net/serd/trunk@476 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2014-08-08Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/serd/trunk@467 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2014-04-11Minor hardening.David Robillard1-3/+7
git-svn-id: http://svn.drobilla.net/serd/trunk@459 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-12-23Windows compatibility fixes.David Robillard1-0/+5
git-svn-id: http://svn.drobilla.net/serd/trunk@405 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-12-21Fix crash when serd_node_new_decimal is called with infinity or NaN.David Robillard1-0/+4
git-svn-id: http://svn.drobilla.net/serd/trunk@401 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-08-08Fix warnings: -Wshadow -Wpointer-arith -Wcast-align -Wstrict-prototypes ↵David Robillard1-7/+7
-Wmissing-prototypes. git-svn-id: http://svn.drobilla.net/serd/trunk@374 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-03-10Add serd_writer_set_root_uri(), root parameter toDavid Robillard1-1/+1
serd_uri_serialise_relative(), and -r option to serdi, to enable writing URIs with up references (../) within a parent namespace. Resolve dot segments in serd_uri_resolve() instead of at write time. git-svn-id: http://svn.drobilla.net/serd/trunk@336 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-03-08Add escape parameter to serd_node_new_file_uri().David Robillard1-2/+3
git-svn-id: http://svn.drobilla.net/serd/trunk@333 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-03-08Make serd_node_from_string tolerate NULL.David Robillard1-0/+4
git-svn-id: http://svn.drobilla.net/serd/trunk@332 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-03-08serd_node_new_uri_from_path => serd_node_new_file_uri.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/serd/trunk@331 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-03-08Add serd_writer_get_env().David Robillard1-0/+62
Add serd_node_new_uri_from_path() and serd_file_uri_parse() and implement proper URI to/from path hex escaping, etc. Add serd_uri_serialise_relative() for making URIs relative to a base where possible (by chopping a common prefix and adding dot segments). Make URIs serialised by the writer properly escape characters. git-svn-id: http://svn.drobilla.net/serd/trunk@330 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-02-28Fix serialisation of decimals like 10.0, 20.0, etc.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/serd/trunk@325 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-01-18Make serd_node_new_integer take int64_t instead of long.David Robillard1-5/+5
Turns out long is sometimes 32-bits even on modern 64-bit machines on certain insane Operating Systems... git-svn-id: http://svn.drobilla.net/serd/trunk@297 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-01-16Support compilation as C++ under MSVC++David Robillard1-14/+14
git-svn-id: http://svn.drobilla.net/serd/trunk@291 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2012-01-16Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/serd/trunk@285 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-30Add serd_node_new_blob and serd_base64_decode for handling arbitrary binaryDavid Robillard1-0/+42
data via base64 encoding. git-svn-id: http://svn.drobilla.net/serd/trunk@280 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-25Near 100% branch coverage.David Robillard1-10/+11
git-svn-id: http://svn.drobilla.net/serd/trunk@277 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-25100% test coverage.David Robillard1-6/+2
git-svn-id: http://svn.drobilla.net/serd/trunk@276 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-24Remove pointless check.David Robillard1-1/+1
Gracefully handle NULL strings in serd_node_new_uri_from_string(). git-svn-id: http://svn.drobilla.net/serd/trunk@272 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-21Remove trailing whitespace.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/serd/trunk@261 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-19Add serd_strtod(), serd_node_new_decimal(), and serd_node_new_integer() forDavid Robillard1-0/+81
locale-independent numeric node parsing/serialising. git-svn-id: http://svn.drobilla.net/serd/trunk@260 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-12Use memcmp instead of strcmp for serd_node_equals.David Robillard1-2/+3
git-svn-id: http://svn.drobilla.net/serd/trunk@255 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-12Reuse write context node memory where possible.David Robillard1-1/+4
git-svn-id: http://svn.drobilla.net/serd/trunk@248 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-12-11Move all #ifdef gunk to serd_internal.h.David Robillard1-2/+2
Centralise file open and buffer allocation to localize platform tweaks. git-svn-id: http://svn.drobilla.net/serd/trunk@244 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-11-04Move serd_strlen and serd_strerror to string.c and document both in "String ↵David Robillard1-26/+0
Utilities" section. git-svn-id: http://svn.drobilla.net/serd/trunk@229 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-05-12Use conventional string lengths not including NULL terminatorDavid Robillard1-5/+5
git-svn-id: http://svn.drobilla.net/serd/trunk@174 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-05-12Tidy.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/serd/trunk@172 490d8e77-9747-427b-9fa3-0b8f29cee8a0
2011-05-11Create SerdNodeFlags typedef for flags.David Robillard1-5/+33
Expose serd_strlen. Make serd_node_copy tolerate a NULL parameter. git-svn-id: http://svn.drobilla.net/serd/trunk@168 490d8e77-9747-427b-9fa3-0b8f29cee8a0