diff options
| author | Luca Boccassi <luca.boccassi@microsoft.com> | 2021-07-30 15:56:11 +0100 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2022-03-30 22:31:30 +0200 | 
| commit | a0c0f38cb947a16a5aebf2b59fb8481866d28f96 (patch) | |
| tree | cdb566c89666f62b78bd3e432140aa86b23bf67a /include/sqfs | |
| parent | 7667b84cc34707c28ca0db8d24f046ec34e8c25d (diff) | |
sqfs_dir_tree_destroy/sqfs_destroy: allow NULL input
Many library destructor functions (like free()) allow a NULL
pointer as input, and do nothing in that case.
This allows easier cleanup patterns: initialize pointers to NULL
and then always pass them to the destroyer functions, no need for
verbose goto/if-else patterns.
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Diffstat (limited to 'include/sqfs')
| -rw-r--r-- | include/sqfs/dir_reader.h | 2 | ||||
| -rw-r--r-- | include/sqfs/predef.h | 5 | 
2 files changed, 4 insertions, 3 deletions
| diff --git a/include/sqfs/dir_reader.h b/include/sqfs/dir_reader.h index 3bef7e3..2ee7204 100644 --- a/include/sqfs/dir_reader.h +++ b/include/sqfs/dir_reader.h @@ -320,7 +320,7 @@ SQFS_API int sqfs_dir_reader_get_full_hierarchy(sqfs_dir_reader_t *rd,   * This function can be used to clean up after   * @ref sqfs_dir_reader_get_full_hierarchy.   * - * @param root A pointer to the root node. + * @param root A pointer to the root node or NULL.   */  SQFS_API void sqfs_dir_tree_destroy(sqfs_tree_node_t *root); diff --git a/include/sqfs/predef.h b/include/sqfs/predef.h index 6296b4b..a976cd4 100644 --- a/include/sqfs/predef.h +++ b/include/sqfs/predef.h @@ -133,11 +133,12 @@ typedef struct sqfs_object_t {   *   * @memberof sqfs_object_t   * - * @param obj A pointer to an object + * @param obj A pointer to an object or NULL   */  static SQFS_INLINE void sqfs_destroy(void *obj)  { -	((sqfs_object_t *)obj)->destroy((sqfs_object_t *)obj); +	if (obj) +		((sqfs_object_t *)obj)->destroy((sqfs_object_t *)obj);  }  /** | 
