Skip to content

fix: dev: Enforce type checking for dns_dbnode_t

Ondřej Surý requested to merge ondrej/non-void-dns_dbnode_t into main

Originally, the dns_dbnode_t was typedef'ed to void type. This allowed some flexibility, but using (void *) just removes any type-checking that C might have. Instead of using:

typedef void dns_dbnode_t;

use a trick to define the type to non-existing structure:

typedef struct dns_dbnode dns_dbnode_t;

This allows the C compilers to employ the type-checking while the structure itself doesn't have to be ever defined because the actual 'storage' is never accessed using dns_dbnode_t type.

Merge request reports