aboutsummaryrefslogtreecommitdiffstats
path: root/include/serd
AgeCommit message (Collapse)AuthorFilesLines
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-08-31Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
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-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.
2020-11-10Add const, pure, and malloc function attributesDavid Robillard1-5/+16
2020-11-10Simplify visibility boilerplateDavid Robillard1-13/+6
2020-11-09Fix clang-tidy hicpp-signed-bitwise warnings in headerDavid Robillard1-15/+15
In exchange for suppressing a pointless superficial warning instead, but I dislike that convention since it looks confusing when hex digits are used and it's inconsistent with near-universal floating point suffix convention.
2020-11-09Move header to conventional include directoryDavid Robillard1-0/+1098