From 155fceabe7070b6610d577734734d038d097b088 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 2 Jan 2022 14:12:54 -0500 Subject: Add assertions for all non-null pointers in the public API 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. --- src/inserter.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/inserter.c') diff --git a/src/inserter.c b/src/inserter.c index f5fd6ef1..100fc23a 100644 --- a/src/inserter.c +++ b/src/inserter.c @@ -19,6 +19,7 @@ #include "serd/serd.h" +#include #include #include @@ -109,6 +110,8 @@ serd_inserter_on_event(SerdInserterData* const data, SerdSink* serd_inserter_new(SerdModel* const model, const SerdNode* const default_graph) { + assert(model); + SerdInserterData* const data = (SerdInserterData*)calloc(1, sizeof(SerdInserterData)); -- cgit v1.2.1