aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2024-09-27Clean up and update clang-format configurationDavid Robillard1-10/+5
Fix "SERD_CONST_FINC" typo, add the other function attributes, and sort all fields.
2024-03-29Use unsigned constants for all explicit enumerator valuesDavid Robillard1-4/+4
2024-03-29Remove redundant enumerator valuesDavid Robillard1-5/+5
2024-03-16Relax some pointer nullability annotations in the APIDavid Robillard1-28/+30
Opaque handles should be just that, opaque. I can't see a good reason to care about the nullability of opaque callback handles, at least statically. That's the business of the callback function. Similarly, output pointer parameters were over-specified.
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.
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 Robillard2-16/+16
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-09Check headers with stricter clang-tidy settingsDavid Robillard1-0/+7
2020-11-09Move header to conventional include directoryDavid Robillard1-0/+1098