Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-28 | Add assertions for all non-null pointers in the public API | David Robillard | 1 | -0/+7 | |
Clang issues warnings at build time based on the SERD_NONNULL annotations, which is a much better approach in general. However, it does not cover cases where the API is being used with another compiler, or without a compiler that can statically check things at all (such as Python or other dynamic language bindings). In those situations, getting a clear assertion message is a lot less confusing than a random crash somewhere in serd, and it makes it clear that the bug is in the caller, so I think it's worth the tedious verbosity. | |||||
2022-01-14 | Use Nodes in Env implementation | David Robillard | 1 | -46/+58 | |
2022-01-14 | Expose low-level node construction API | David Robillard | 1 | -12/+16 | |
2022-01-14 | Remove serd_new_resolved_uri() | David Robillard | 1 | -36/+36 | |
2022-01-14 | Remove SERD_CURIE node datatype entirely | David Robillard | 1 | -45/+22 | |
2022-01-14 | Make serd_env_expand_in_place() take a string view instead of a node | David Robillard | 1 | -6/+8 | |
2022-01-13 | Add support for parsing variables | David Robillard | 1 | -0/+1 | |
This adds a reader flag and serdi option for extending a syntax with support for SPARQL-like variables, for storing things like patterns or simple queries. | |||||
2022-01-13 | Split up serd_env_expand() implementation | David Robillard | 1 | -17/+35 | |
2022-01-13 | Add serd_env_copy() and serd_env_equals() | David Robillard | 1 | -0/+47 | |
2022-01-13 | Simplify SerdEnv API | David Robillard | 1 | -18/+33 | |
2022-01-13 | Replace multiple stream callbacks with SerdEvent | David Robillard | 1 | -4/+2 | |
This makes plumbing easier since everything goes through the same "stream" and only one callback is required to handling everything. It's also more easily extensible in case more event types need to be added in the future. | |||||
2022-01-13 | Simplify node construction API | David Robillard | 1 | -58/+34 | |
2022-01-13 | Simplify URI API and implementation | David Robillard | 1 | -19/+24 | |
2022-01-13 | Make nodes opaque | David Robillard | 1 | -57/+67 | |
2022-01-13 | Shorten node constructor names | David Robillard | 1 | -3/+3 | |
2022-01-13 | Remove redundant null check in serd_env_set_base_uri() | David Robillard | 1 | -1/+1 | |
The env parameter here is declared as nonnull in the API, so it is an error to call it with NULL (which clang can statically flag as a warning). | |||||
2022-01-13 | Remove "get" from accessor names | David Robillard | 1 | -1/+1 | |
2022-01-13 | Rename function types for consistency | David Robillard | 1 | -1/+1 | |
2022-01-13 | Rename SerdURI to SerdURIView | David Robillard | 1 | -7/+7 | |
2022-01-13 | Rename SerdChunk to SerdStringView | David Robillard | 1 | -5/+5 | |
2022-01-13 | Use char* for strings in public API | David Robillard | 1 | -12/+9 | |
The constant casting just makes user code a mess, for no benefit. | |||||
2022-01-13 | Remove useless character counting | David Robillard | 1 | -7/+2 | |
2021-06-30 | Make node qualify and expand functions tolerate a null Env | David Robillard | 1 | -0/+12 | |
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-05-31 | Make most function parameters const | David Robillard | 1 | -20/+28 | |
More const never hurts in general, but in particular this allows the compiler to make better nullability deductions, which reduces the amount of manual nullability casting required. | |||||
2021-05-31 | Remove "static inline" for functions in implementation files | David Robillard | 1 | -1/+1 | |
This is just noise since these are static functions local to a C compilation unit. | |||||
2021-01-02 | Use email address instead of website for attribution | David Robillard | 1 | -1/+1 | |
2020-12-31 | Format all code with clang-format | David Robillard | 1 | -168/+165 | |
2020-12-31 | Avoid "else" after "break" and "return" | David Robillard | 1 | -2/+7 | |
2020-11-13 | Fix test coverage | David Robillard | 1 | -9/+7 | |
2020-11-13 | Allow setting the base URI of an Env to NULL | David Robillard | 1 | -2/+6 | |
2020-11-11 | Add nonnull and nullable attributes to API | David Robillard | 1 | -0/+1 | |
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-10 | Add const, pure, and malloc function attributes | David Robillard | 1 | -1/+1 | |
2020-08-16 | Ensure that all free methods tolerate NULL | David Robillard | 1 | -0/+4 | |
2020-08-14 | Fix Wswitch-enum warnings | David Robillard | 1 | -6/+10 | |
2020-08-14 | Avoid copying nodes when equivalent prefixes are set | David Robillard | 1 | -3/+5 | |
2020-06-21 | Clean up includes | David Robillard | 1 | -2/+5 | |
2019-10-27 | Fix integer conversion warnings | David Robillard | 1 | -2/+2 | |
2018-09-30 | Fix calloc argument order | David Robillard | 1 | -1/+1 | |
2018-06-15 | Remove redundant SERD_API declarations | David Robillard | 1 | -10/+0 | |
2018-06-10 | Remove syntax assumptions from SerdEnv implementation | David Robillard | 1 | -24/+1 | |
2018-05-27 | Clarify errors returned by serd_env_expand() | David Robillard | 1 | -3/+3 | |
2017-06-30 | Fix various clang-tidy issues | David Robillard | 1 | -16/+16 | |
2016-09-18 | Fix memory error | David Robillard | 1 | -2/+3 | |
Introduced in 443f470383dc3acba0fde7b705e8ff81a7c49595 | |||||
2016-07-09 | Fix construction of URIs with UTF-8 characters | David Robillard | 1 | -3/+3 | |
2014-08-08 | Use Markdown in doc comments for better source readability. | David Robillard | 1 | -1/+1 | |
git-svn-id: http://svn.drobilla.net/serd/trunk@471 490d8e77-9747-427b-9fa3-0b8f29cee8a0 | |||||
2014-08-08 | Update copyright dates. | David Robillard | 1 | -1/+1 | |
git-svn-id: http://svn.drobilla.net/serd/trunk@467 490d8e77-9747-427b-9fa3-0b8f29cee8a0 | |||||
2014-08-05 | Remove unnecessary include. | David Robillard | 1 | -1/+0 | |
git-svn-id: http://svn.drobilla.net/serd/trunk@464 490d8e77-9747-427b-9fa3-0b8f29cee8a0 | |||||
2014-04-11 | Minor hardening. | David Robillard | 1 | -6/+6 | |
git-svn-id: http://svn.drobilla.net/serd/trunk@459 490d8e77-9747-427b-9fa3-0b8f29cee8a0 | |||||
2012-08-08 | Fix warnings: -Wshadow -Wpointer-arith -Wcast-align -Wstrict-prototypes ↵ | David Robillard | 1 | -4/+3 | |
-Wmissing-prototypes. git-svn-id: http://svn.drobilla.net/serd/trunk@374 490d8e77-9747-427b-9fa3-0b8f29cee8a0 | |||||
2012-07-05 | Add error callback to reader and writer for custom error reporting. | David Robillard | 1 | -1/+1 | |
Add -q option to serdi to suppress all non-data output, e.g. errors. Resolves #815. git-svn-id: http://svn.drobilla.net/serd/trunk@354 490d8e77-9747-427b-9fa3-0b8f29cee8a0 |