forked from ariadne/pkgconf
dependency: add pkgconf_dependency_free_one
parent
2b390ea9cf
commit
8130dd159e
|
@ -177,6 +177,31 @@ pkgconf_dependency_append(pkgconf_list_t *list, pkgconf_dependency_t *tail)
|
|||
pkgconf_node_insert_tail(&tail->iter, tail, list);
|
||||
}
|
||||
|
||||
/*
|
||||
* !doc
|
||||
*
|
||||
* .. c:function:: void pkgconf_dependency_free_one(pkgconf_dependency_t *dep)
|
||||
*
|
||||
* Frees a dependency node.
|
||||
*
|
||||
* :param pkgconf_dependency_t* dep: The dependency node to free.
|
||||
* :return: nothing
|
||||
*/
|
||||
void
|
||||
pkgconf_dependency_free_one(pkgconf_dependency_t *dep)
|
||||
{
|
||||
if (dep->match != NULL)
|
||||
pkgconf_pkg_unref(dep->match->owner, dep->match);
|
||||
|
||||
if (dep->package != NULL)
|
||||
free(dep->package);
|
||||
|
||||
if (dep->version != NULL)
|
||||
free(dep->version);
|
||||
|
||||
free(dep);
|
||||
}
|
||||
|
||||
/*
|
||||
* !doc
|
||||
*
|
||||
|
@ -196,16 +221,8 @@ pkgconf_dependency_free(pkgconf_list_t *list)
|
|||
{
|
||||
pkgconf_dependency_t *dep = node->data;
|
||||
|
||||
if (dep->match != NULL)
|
||||
pkgconf_pkg_unref(dep->match->owner, dep->match);
|
||||
|
||||
if (dep->package != NULL)
|
||||
free(dep->package);
|
||||
|
||||
if (dep->version != NULL)
|
||||
free(dep->version);
|
||||
|
||||
free(dep);
|
||||
pkgconf_node_delete(&dep->iter, list);
|
||||
pkgconf_dependency_free_one(dep);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -320,6 +320,7 @@ PKGCONF_API void pkgconf_dependency_parse_str(const pkgconf_client_t *client, pk
|
|||
PKGCONF_API void pkgconf_dependency_parse(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, pkgconf_list_t *deplist_head, const char *depends, unsigned int flags);
|
||||
PKGCONF_API void pkgconf_dependency_append(pkgconf_list_t *list, pkgconf_dependency_t *tail);
|
||||
PKGCONF_API void pkgconf_dependency_free(pkgconf_list_t *list);
|
||||
PKGCONF_API void pkgconf_dependency_free_one(pkgconf_dependency_t *dep);
|
||||
PKGCONF_API pkgconf_dependency_t *pkgconf_dependency_add(const pkgconf_client_t *client, pkgconf_list_t *list, const char *package, const char *version, pkgconf_pkg_comparator_t compare, unsigned int flags);
|
||||
|
||||
/* argvsplit.c */
|
||||
|
|
Loading…
Reference in New Issue