aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2023-12-02Split up public API headerDavid Robillard17-921/+1426
2023-12-02Remove "get" from accessor namesDavid Robillard1-4/+4
2023-12-02Rename function types for consistencyDavid Robillard1-22/+22
2023-12-02Rename SerdStyle to SerdWriterFlagsDavid Robillard1-9/+12
2023-12-02Rename SerdType to SerdNodeTypeDavid Robillard1-4/+4
The old name will be even more ambiguous with the increased scope.
2023-12-02Rename SerdURI to SerdURIViewDavid Robillard1-39/+39
2023-12-02Rename SerdChunk to SerdStringViewDavid Robillard1-14/+19
2023-12-02Add SerdBuffer type for mutable buffersDavid Robillard1-9/+15
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks.
2023-12-02Use char* for strings in public APIDavid Robillard1-52/+51
The constant casting just makes user code a mess, for no benefit.
2023-12-02Remove escape parameter from serd_node_new_file_uriDavid Robillard1-5/+3
Since characters are escaped because they are not valid characters in a URI, any use of this function without escaping is problematic at best.
2023-12-02Remove useless character countingDavid Robillard1-5/+2
2023-12-02Remove serd_uri_to_path()David Robillard1-27/+0
2023-04-16Gracefully handle errors when writing textDavid Robillard1-0/+2
2023-04-05Improve writer error handlingDavid Robillard1-0/+1
2023-04-05Update to clang-format 12David Robillard1-128/+63
2022-12-20Avoid using ASCII grave as a quoteDavid Robillard1-2/+2
2022-12-19Allow SERD_API to be defined by the userDavid Robillard1-8/+11
2022-12-09Add serd_reader_skip_until_byte() to public APIDavid Robillard1-0/+13
2022-10-23Fix whitespaceDavid Robillard1-2/+2
2022-10-23Add trailing commas to enum declarationsDavid Robillard1-5/+5
This has been supported since C99 and C++11, and makes for less noisy diffs and fewer conflicts when things are added.
2022-10-23Use uppercase integer literal suffixesDavid Robillard1-15/+15
2022-10-23Test header for warnings more strictlyDavid Robillard1-12/+0
2022-09-08Use 0BSD for trivial "public domain intent" thingsDavid Robillard1-1/+1
Fedora takes issue with CC0. Although it doesn't really matter for this stuff (dual licensed anyway, questionably "software", certainly not patentable, and so on), this is simpler and more consistent with the ISC license used for the actual software anyway.
2022-08-31Adopt REUSE machine-readable licensing standardDavid Robillard2-15/+4
2022-07-13Suppress clang-tidy identifier length warning in headerDavid Robillard1-0/+1
2022-06-27Suppress new clang-tidy warningsDavid Robillard1-0/+1
2021-06-30Make node qualify and expand functions tolerate a null EnvDavid Robillard1-3/+3
This is convenient in places where you don't necessarily need an Env, since these methods will work the same as with an empty Env.
2021-06-30Format long comments consistentlyDavid Robillard1-14/+14
2021-06-06Move type definitions inside the corresponding documentation groupDavid Robillard1-102/+102
2021-04-12Group API declarations by topicDavid Robillard1-42/+47
2021-01-10Only use modern deprecated attributes on clang 7 and newerDavid Robillard1-1/+1
2021-01-10Only use nullability attributes on clang 7 and newerDavid Robillard1-1/+1
These have existed for longer, but the names were changed.
2021-01-09Fix SERD_DISABLE_DEPRECATEDDavid Robillard1-0/+4
2021-01-07Use globally unique Doxygen group namesDavid Robillard1-8/+8
This is necessary to avoid clashes when building unified documentation as a subproject.
2021-01-06Switch to LV2 documentation themeDavid Robillard1-2/+2
2021-01-02Use email address instead of website for attributionDavid Robillard1-1/+1
2021-01-02Use SERD_STATIC instead of SERD_SHARED to control visibilityDavid Robillard1-3/+3
For consistency, this seems to be the most common convention.
2020-12-31Format all code with clang-formatDavid Robillard1-138/+143
2020-12-21Generate documentation with SphinxDavid Robillard1-8/+8
2020-12-18Fix build on ancient GCCDavid Robillard1-1/+3
2020-12-15Suppress new clang-tidy warningsDavid Robillard1-0/+1
2020-12-15Fix nullable annotations on allocating function return valuesDavid Robillard1-2/+2
2020-11-15Strengthen null annotation on serd_env_get_base_uri()David Robillard1-1/+1
2020-11-14Deprecate serd_uri_to_path()David Robillard1-1/+11
2020-11-13Improve documentationDavid Robillard1-19/+36
2020-11-13Use line commentDavid Robillard1-3/+1
2020-11-13Improve documentation summary for SerdEnvDavid Robillard1-6/+1
2020-11-13Use line comments where appropriate and clean up headerDavid Robillard1-222/+115
2020-11-12Relax nullability annotation on allocation functionsDavid Robillard1-3/+5
In practice almost nobody checks for failed allocation, including unfortunately the serd tests and serdi itself. Adding a struct mode to conditionally define this would be a good idea to support allocation-hardened code, but for now just mark them as unspecified instead. On the bright side, this documents the nature of the returned pointers nicely.
2020-11-11Add nonnull and nullable attributes to APIDavid Robillard1-183/+214
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.