ZT_NOT_NULL(3)

ZT_NOT_NULL3

Construct a claim that a pointer is not null

Usage

#include <zt.h>

#define ZT_NOT_NULL(value) \
  zt_not_null( \
    ZT_CURRENT_LOCATION(), \
    zt_pack_pointer((value), #value))

zt_claim

zt_not_null(zt_location location, zt_value value);

Overview

zt_not_null() constructs a claim that a given pointer is not NULL. It should be used through the macro ZT_NOT_NULL(), which passes source code location and packs argument.

ZT_NOT_NULL() can be useful, when coupled with zt_assert(), to ensure that an object was correctly produced, allocated or returned and that the reminder of the test can inspect its properties using zt_check().

Implementation notes

ZT_NOT_NULL() evaluates value only once.

Return values

Both the macro and the function return a zt_claim structure with the appropriate attributes set. The returned claim is usually passed to zt_check() or to zt_assert().

Releases

Unchanged in 3 releases since Debian 11 (Bullseye).

  1. 11–13

History

The ZT_NOT_NULL() macro and the zt_not_null() function first appeared in libzt 0.1

Authors

Zygmunt Krynicki ⟨[email protected]⟩

From libzt-doc 0.3.1-4 in Debian 13 (Trixie). Parsed by carta from the page's mdoc source.