libpkgconf: migrate cache to pkgconf_client_t which unfortunately requires it to be non-const :(

pull/100/head
William Pitcock 2016-12-02 00:29:33 -06:00
parent e7f4846508
commit c05ecdfc9d
5 changed files with 89 additions and 87 deletions

View File

@ -15,8 +15,6 @@
#include <libpkgconf/libpkgconf.h>
static pkgconf_list_t pkg_cache = PKGCONF_LIST_INITIALIZER;
/*
* pkgconf_cache_lookup(id)
*
@ -25,16 +23,16 @@ static pkgconf_list_t pkg_cache = PKGCONF_LIST_INITIALIZER;
* if present.
*/
pkgconf_pkg_t *
pkgconf_cache_lookup(const char *id)
pkgconf_cache_lookup(const pkgconf_client_t *client, const char *id)
{
pkgconf_node_t *node;
PKGCONF_FOREACH_LIST_ENTRY(pkg_cache.head, node)
PKGCONF_FOREACH_LIST_ENTRY(client->pkg_cache.head, node)
{
pkgconf_pkg_t *pkg = node->data;
if (!strcmp(pkg->id, id))
return pkgconf_pkg_ref(pkg);
return pkgconf_pkg_ref(client, pkg);
}
return NULL;
@ -47,13 +45,13 @@ pkgconf_cache_lookup(const char *id)
* the cache entry must be removed if the package is freed.
*/
void
pkgconf_cache_add(pkgconf_pkg_t *pkg)
pkgconf_cache_add(pkgconf_client_t *client, pkgconf_pkg_t *pkg)
{
if (pkg == NULL)
return;
pkgconf_pkg_ref(pkg);
pkgconf_node_insert(&pkg->cache_iter, pkg, &pkg_cache);
pkgconf_pkg_ref(client, pkg);
pkgconf_node_insert(&pkg->cache_iter, pkg, &client->pkg_cache);
}
/*
@ -62,22 +60,24 @@ pkgconf_cache_add(pkgconf_pkg_t *pkg)
* deletes a package from the cache entry.
*/
void
pkgconf_cache_remove(pkgconf_pkg_t *pkg)
pkgconf_cache_remove(pkgconf_client_t *client, pkgconf_pkg_t *pkg)
{
if (pkg == NULL)
return;
pkgconf_node_delete(&pkg->cache_iter, &pkg_cache);
pkgconf_node_delete(&pkg->cache_iter, &client->pkg_cache);
}
void
pkgconf_cache_free(void)
pkgconf_cache_free(pkgconf_client_t *client)
{
pkgconf_node_t *iter, *iter2;
PKGCONF_FOREACH_LIST_ENTRY_SAFE(pkg_cache.head, iter2, iter)
PKGCONF_FOREACH_LIST_ENTRY_SAFE(client->pkg_cache.head, iter2, iter)
{
pkgconf_pkg_t *pkg = iter->data;
pkgconf_pkg_free(pkg);
pkgconf_pkg_free(client, pkg);
}
memset(&client->pkg_cache, 0, sizeof client->pkg_cache);
}

View File

@ -129,12 +129,13 @@ struct pkgconf_pkg_ {
};
typedef bool (*pkgconf_pkg_iteration_func_t)(const pkgconf_pkg_t *pkg, void *data);
typedef void (*pkgconf_pkg_traverse_func_t)(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags);
typedef bool (*pkgconf_queue_apply_func_t)(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth, unsigned int flags);
typedef void (*pkgconf_pkg_traverse_func_t)(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags);
typedef bool (*pkgconf_queue_apply_func_t)(pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth, unsigned int flags);
typedef bool (*pkgconf_error_handler_func_t)(const char *msg);
struct pkgconf_client_ {
pkgconf_list_t dir_list;
pkgconf_list_t pkg_cache;
#ifdef XXX_NOTYET
pkgconf_list_t filter_libdirs;
@ -188,21 +189,21 @@ void pkgconf_client_free(pkgconf_client_t *client);
bool pkgconf_error(const pkgconf_client_t *client, const char *format, ...) PRINTFLIKE(2, 3);
bool pkgconf_default_error_handler(const char *msg);
pkgconf_pkg_t *pkgconf_pkg_ref(pkgconf_pkg_t *pkg);
void pkgconf_pkg_unref(pkgconf_pkg_t *pkg);
void pkgconf_pkg_free(pkgconf_pkg_t *pkg);
pkgconf_pkg_t *pkgconf_pkg_ref(const pkgconf_client_t *client, pkgconf_pkg_t *pkg);
void pkgconf_pkg_unref(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
void pkgconf_pkg_free(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
pkgconf_pkg_t *pkgconf_pkg_find(pkgconf_client_t *client, const char *name, unsigned int flags);
unsigned int pkgconf_pkg_traverse(const pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_pkg_traverse_func_t func, void *data, int maxdepth, unsigned int flags);
unsigned int pkgconf_pkg_verify_graph(const pkgconf_client_t *client, pkgconf_pkg_t *root, int depth, unsigned int flags);
pkgconf_pkg_t *pkgconf_pkg_verify_dependency(const pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags);
unsigned int pkgconf_pkg_traverse(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_pkg_traverse_func_t func, void *data, int maxdepth, unsigned int flags);
unsigned int pkgconf_pkg_verify_graph(pkgconf_client_t *client, pkgconf_pkg_t *root, int depth, unsigned int flags);
pkgconf_pkg_t *pkgconf_pkg_verify_dependency(pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags);
const char *pkgconf_pkg_get_comparator(const pkgconf_dependency_t *pkgdep);
int pkgconf_pkg_cflags(const pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags);
int pkgconf_pkg_libs(const pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags);
int pkgconf_pkg_cflags(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags);
int pkgconf_pkg_libs(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags);
pkgconf_pkg_comparator_t pkgconf_pkg_comparator_lookup_by_name(const char *name);
pkgconf_pkg_t *pkgconf_builtin_pkg_get(const char *name);
int pkgconf_compare_version(const char *a, const char *b);
pkgconf_pkg_t *pkgconf_scan_all(const pkgconf_client_t *client, void *ptr, pkgconf_pkg_iteration_func_t func);
pkgconf_pkg_t *pkgconf_scan_all(pkgconf_client_t *client, void *ptr, pkgconf_pkg_iteration_func_t func);
void pkgconf_pkg_dir_list_build(pkgconf_client_t *client, unsigned int flags);
/* parse.c */
@ -239,16 +240,16 @@ void pkgconf_tuple_define_global(pkgconf_client_t *client, const char *kv);
/* queue.c */
void pkgconf_queue_push(pkgconf_list_t *list, const char *package);
bool pkgconf_queue_compile(const pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list);
bool pkgconf_queue_compile(pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list);
void pkgconf_queue_free(pkgconf_list_t *list);
bool pkgconf_queue_apply(const pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_queue_apply_func_t func, int maxdepth, unsigned int flags, void *data);
bool pkgconf_queue_validate(const pkgconf_client_t *client, pkgconf_list_t *list, int maxdepth, unsigned int flags);
bool pkgconf_queue_apply(pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_queue_apply_func_t func, int maxdepth, unsigned int flags, void *data);
bool pkgconf_queue_validate(pkgconf_client_t *client, pkgconf_list_t *list, int maxdepth, unsigned int flags);
/* cache.c */
pkgconf_pkg_t *pkgconf_cache_lookup(const char *id);
void pkgconf_cache_add(pkgconf_pkg_t *pkg);
void pkgconf_cache_remove(pkgconf_pkg_t *pkg);
void pkgconf_cache_free(void);
pkgconf_pkg_t *pkgconf_cache_lookup(const pkgconf_client_t *client, const char *id);
void pkgconf_cache_add(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
void pkgconf_cache_remove(pkgconf_client_t *client, pkgconf_pkg_t *pkg);
void pkgconf_cache_free(pkgconf_client_t *client);
/* audit.c */
void pkgconf_audit_open_log(FILE *auditf);

View File

@ -259,16 +259,16 @@ pkgconf_pkg_new_from_file(const pkgconf_client_t *client, const char *filename,
pkgconf_dependency_add(&pkg->provides, pkg->id, pkg->version, PKGCONF_CMP_EQUAL);
return pkgconf_pkg_ref(pkg);
return pkgconf_pkg_ref(client, pkg);
}
void
pkgconf_pkg_free(pkgconf_pkg_t *pkg)
pkgconf_pkg_free(pkgconf_client_t *client, pkgconf_pkg_t *pkg)
{
if (pkg == NULL || pkg->flags & PKGCONF_PKG_PROPF_VIRTUAL)
return;
pkgconf_cache_remove(pkg);
pkgconf_cache_remove(client, pkg);
pkgconf_dependency_free(&pkg->requires);
pkgconf_dependency_free(&pkg->requires_private);
@ -307,18 +307,20 @@ pkgconf_pkg_free(pkgconf_pkg_t *pkg)
}
pkgconf_pkg_t *
pkgconf_pkg_ref(pkgconf_pkg_t *pkg)
pkgconf_pkg_ref(const pkgconf_client_t *client, pkgconf_pkg_t *pkg)
{
(void) client;
pkg->refcount++;
return pkg;
}
void
pkgconf_pkg_unref(pkgconf_pkg_t *pkg)
pkgconf_pkg_unref(pkgconf_client_t *client, pkgconf_pkg_t *pkg)
{
pkg->refcount--;
if (pkg->refcount <= 0)
pkgconf_pkg_free(pkg);
pkgconf_pkg_free(client, pkg);
}
static inline pkgconf_pkg_t *
@ -344,7 +346,7 @@ pkgconf_pkg_try_specific_path(const pkgconf_client_t *client, const char *path,
}
static pkgconf_pkg_t *
pkgconf_pkg_scan_dir(const pkgconf_client_t *client, const char *path, void *data, pkgconf_pkg_iteration_func_t func)
pkgconf_pkg_scan_dir(pkgconf_client_t *client, const char *path, void *data, pkgconf_pkg_iteration_func_t func)
{
DIR *dir;
struct dirent *dirent;
@ -382,7 +384,7 @@ pkgconf_pkg_scan_dir(const pkgconf_client_t *client, const char *path, void *dat
goto out;
}
pkgconf_pkg_unref(pkg);
pkgconf_pkg_unref(client, pkg);
}
}
@ -392,7 +394,7 @@ out:
}
pkgconf_pkg_t *
pkgconf_scan_all(const pkgconf_client_t *client, void *data, pkgconf_pkg_iteration_func_t func)
pkgconf_scan_all(pkgconf_client_t *client, void *data, pkgconf_pkg_iteration_func_t func)
{
pkgconf_node_t *n;
pkgconf_pkg_t *pkg;
@ -474,7 +476,7 @@ pkgconf_pkg_find(pkgconf_client_t *client, const char *name, unsigned int flags)
/* check cache */
if (!(flags & PKGCONF_PKG_PKGF_NO_CACHE))
{
if ((pkg = pkgconf_cache_lookup(name)) != NULL)
if ((pkg = pkgconf_cache_lookup(client, name)) != NULL)
{
pkg->flags |= PKGCONF_PKG_PROPF_CACHED;
return pkg;
@ -498,7 +500,7 @@ pkgconf_pkg_find(pkgconf_client_t *client, const char *name, unsigned int flags)
#endif
out:
pkgconf_cache_add(pkg);
pkgconf_cache_add(client, pkg);
return pkg;
}
@ -960,7 +962,7 @@ pkgconf_pkg_scan_provides_entry(const pkgconf_pkg_t *pkg, const pkgconf_pkg_scan
* scan all available packages to see if a Provides rule matches the pkgdep.
*/
static pkgconf_pkg_t *
pkgconf_pkg_scan_providers(const pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags)
pkgconf_pkg_scan_providers(pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags)
{
pkgconf_pkg_t *pkg;
pkgconf_pkg_scan_providers_ctx_t ctx = {
@ -985,7 +987,7 @@ pkgconf_pkg_scan_providers(const pkgconf_client_t *client, pkgconf_dependency_t
* return the appropriate pkgconf_pkg_t object, else NULL.
*/
pkgconf_pkg_t *
pkgconf_pkg_verify_dependency(const pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags)
pkgconf_pkg_verify_dependency(pkgconf_client_t *client, pkgconf_dependency_t *pkgdep, unsigned int flags, unsigned int *eflags)
{
pkgconf_pkg_t *pkg = NULL;
@ -1025,13 +1027,13 @@ pkgconf_pkg_verify_dependency(const pkgconf_client_t *client, pkgconf_dependency
* pkgconf_pkg_traverse().
*/
unsigned int
pkgconf_pkg_verify_graph(const pkgconf_client_t *client, pkgconf_pkg_t *root, int depth, unsigned int flags)
pkgconf_pkg_verify_graph(pkgconf_client_t *client, pkgconf_pkg_t *root, int depth, unsigned int flags)
{
return pkgconf_pkg_traverse(client, root, NULL, NULL, depth, flags);
}
static unsigned int
pkgconf_pkg_report_graph_error(const pkgconf_client_t *client, pkgconf_pkg_t *parent, pkgconf_pkg_t *pkg, pkgconf_dependency_t *node, unsigned int eflags)
pkgconf_pkg_report_graph_error(pkgconf_client_t *client, pkgconf_pkg_t *parent, pkgconf_pkg_t *pkg, pkgconf_dependency_t *node, unsigned int eflags)
{
static bool already_sent_notice = false;
@ -1059,13 +1061,13 @@ pkgconf_pkg_report_graph_error(const pkgconf_client_t *client, pkgconf_pkg_t *pa
}
if (pkg != NULL)
pkgconf_pkg_unref(pkg);
pkgconf_pkg_unref(client, pkg);
return eflags;
}
static inline unsigned int
pkgconf_pkg_walk_list(const pkgconf_client_t *client,
pkgconf_pkg_walk_list(pkgconf_client_t *client,
pkgconf_pkg_t *parent,
pkgconf_list_t *deplist,
pkgconf_pkg_traverse_func_t func,
@ -1098,7 +1100,7 @@ pkgconf_pkg_walk_list(const pkgconf_client_t *client,
if (pkgdep->flags & PKGCONF_PKG_PROPF_SEEN)
{
pkgconf_pkg_unref(pkgdep);
pkgconf_pkg_unref(client, pkgdep);
continue;
}
@ -1107,14 +1109,14 @@ pkgconf_pkg_walk_list(const pkgconf_client_t *client,
pkgdep->flags |= PKGCONF_PKG_PROPF_SEEN;
eflags |= pkgconf_pkg_traverse(client, pkgdep, func, data, depth - 1, flags);
pkgdep->flags &= ~PKGCONF_PKG_PROPF_SEEN;
pkgconf_pkg_unref(pkgdep);
pkgconf_pkg_unref(client, pkgdep);
}
return eflags;
}
static inline unsigned int
pkgconf_pkg_walk_conflicts_list(const pkgconf_client_t *client,
pkgconf_pkg_walk_conflicts_list(pkgconf_client_t *client,
pkgconf_pkg_t *root, pkgconf_list_t *deplist, unsigned int flags)
{
unsigned int eflags;
@ -1144,12 +1146,12 @@ pkgconf_pkg_walk_conflicts_list(const pkgconf_client_t *client,
pkgconf_error(client, "It may be possible to ignore this conflict and continue, try the\n");
pkgconf_error(client, "PKG_CONFIG_IGNORE_CONFLICTS environment variable.\n");
pkgconf_pkg_unref(pkgdep);
pkgconf_pkg_unref(client, pkgdep);
return PKGCONF_PKG_ERRF_PACKAGE_CONFLICT;
}
pkgconf_pkg_unref(pkgdep);
pkgconf_pkg_unref(client, pkgdep);
}
}
@ -1162,7 +1164,7 @@ pkgconf_pkg_walk_conflicts_list(const pkgconf_client_t *client,
* walk the dependency graph up to maxdepth levels. -1 means infinite recursion.
*/
unsigned int
pkgconf_pkg_traverse(const pkgconf_client_t *client,
pkgconf_pkg_traverse(pkgconf_client_t *client,
pkgconf_pkg_t *root,
pkgconf_pkg_traverse_func_t func,
void *data,
@ -1203,7 +1205,7 @@ pkgconf_pkg_traverse(const pkgconf_client_t *client,
}
static void
pkgconf_pkg_cflags_collect(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
pkgconf_pkg_cflags_collect(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
{
pkgconf_list_t *list = data;
pkgconf_node_t *node;
@ -1218,7 +1220,7 @@ pkgconf_pkg_cflags_collect(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, v
}
static void
pkgconf_pkg_cflags_private_collect(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
pkgconf_pkg_cflags_private_collect(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
{
pkgconf_list_t *list = data;
pkgconf_node_t *node;
@ -1234,7 +1236,7 @@ pkgconf_pkg_cflags_private_collect(const pkgconf_client_t *client, pkgconf_pkg_t
}
int
pkgconf_pkg_cflags(const pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags)
pkgconf_pkg_cflags(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags)
{
int eflag;
@ -1253,7 +1255,7 @@ pkgconf_pkg_cflags(const pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_
}
static void
pkgconf_pkg_libs_collect(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
pkgconf_pkg_libs_collect(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
{
pkgconf_list_t *list = data;
pkgconf_node_t *node;
@ -1277,7 +1279,7 @@ pkgconf_pkg_libs_collect(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, voi
}
int
pkgconf_pkg_libs(const pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags)
pkgconf_pkg_libs(pkgconf_client_t *client, pkgconf_pkg_t *root, pkgconf_list_t *list, int maxdepth, unsigned int flags)
{
int eflag;

View File

@ -30,7 +30,7 @@ pkgconf_queue_push(pkgconf_list_t *list, const char *package)
}
bool
pkgconf_queue_compile(const pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list)
pkgconf_queue_compile(pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list)
{
pkgconf_node_t *iter;
@ -60,7 +60,7 @@ pkgconf_queue_free(pkgconf_list_t *list)
}
static inline unsigned int
pkgconf_queue_verify(const pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list, int maxdepth, unsigned int flags)
pkgconf_queue_verify(pkgconf_client_t *client, pkgconf_pkg_t *world, pkgconf_list_t *list, int maxdepth, unsigned int flags)
{
if (!pkgconf_queue_compile(client, world, list))
return PKGCONF_PKG_ERRF_DEPGRAPH_BREAK;
@ -69,7 +69,7 @@ pkgconf_queue_verify(const pkgconf_client_t *client, pkgconf_pkg_t *world, pkgco
}
bool
pkgconf_queue_apply(const pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_queue_apply_func_t func, int maxdepth, unsigned int flags, void *data)
pkgconf_queue_apply(pkgconf_client_t *client, pkgconf_list_t *list, pkgconf_queue_apply_func_t func, int maxdepth, unsigned int flags, void *data)
{
pkgconf_pkg_t world = {
.id = "virtual:world",
@ -86,17 +86,17 @@ pkgconf_queue_apply(const pkgconf_client_t *client, pkgconf_list_t *list, pkgcon
if (!func(client, &world, data, maxdepth, flags))
{
pkgconf_pkg_free(&world);
pkgconf_pkg_free(client, &world);
return false;
}
pkgconf_pkg_free(&world);
pkgconf_pkg_free(client, &world);
return true;
}
bool
pkgconf_queue_validate(const pkgconf_client_t *client, pkgconf_list_t *list, int maxdepth, unsigned int flags)
pkgconf_queue_validate(pkgconf_client_t *client, pkgconf_list_t *list, int maxdepth, unsigned int flags)
{
bool retval = true;
pkgconf_pkg_t world = {
@ -112,7 +112,7 @@ pkgconf_queue_validate(const pkgconf_client_t *client, pkgconf_list_t *list, int
if (pkgconf_queue_verify(client, &world, list, maxdepth, flags) != PKGCONF_PKG_ERRF_OK)
retval = false;
pkgconf_pkg_free(&world);
pkgconf_pkg_free(client, &world);
return retval;
}

41
main.c
View File

@ -184,7 +184,7 @@ print_libs(pkgconf_list_t *list)
}
static void
print_modversion(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unused, unsigned int flags)
print_modversion(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unused, unsigned int flags)
{
(void) client;
(void) unused;
@ -195,7 +195,7 @@ print_modversion(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unuse
}
static void
print_variables(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unused, unsigned int flags)
print_variables(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unused, unsigned int flags)
{
pkgconf_node_t *node;
(void) client;
@ -265,7 +265,7 @@ print_provides(pkgconf_pkg_t *pkg)
}
static bool
apply_provides(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
apply_provides(pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
{
pkgconf_node_t *iter;
(void) unused;
@ -279,14 +279,14 @@ apply_provides(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unuse
pkg = pkgconf_pkg_verify_dependency(client, dep, flags, NULL);
print_provides(pkg);
pkgconf_pkg_free(pkg);
pkgconf_pkg_free(&pkg_client, pkg);
}
return true;
}
static void
print_digraph_node(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unused, unsigned int flags)
print_digraph_node(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unused, unsigned int flags)
{
pkgconf_node_t *node;
(void) client;
@ -304,7 +304,7 @@ print_digraph_node(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *unu
}
static bool
apply_digraph(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
apply_digraph(pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
{
int eflag;
@ -322,7 +322,7 @@ apply_digraph(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused
}
static bool
apply_modversion(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
apply_modversion(pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
{
int eflag;
@ -335,7 +335,7 @@ apply_modversion(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unu
}
static bool
apply_variables(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
apply_variables(pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
{
int eflag;
@ -353,7 +353,7 @@ typedef struct {
} var_request_t;
static void
print_variable(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
print_variable(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
{
var_request_t *req = data;
const char *var;
@ -385,7 +385,7 @@ print_variable(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, u
}
static bool
apply_variable(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *variable, int maxdepth, unsigned int flags)
apply_variable(pkgconf_client_t *client, pkgconf_pkg_t *world, void *variable, int maxdepth, unsigned int flags)
{
int eflag;
@ -404,7 +404,7 @@ apply_variable(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *varia
}
static bool
apply_cflags(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
apply_cflags(pkgconf_client_t *client, pkgconf_pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
{
pkgconf_list_t *list = list_head;
int eflag;
@ -424,7 +424,7 @@ apply_cflags(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *list_he
}
static bool
apply_libs(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
apply_libs(pkgconf_client_t *client, pkgconf_pkg_t *world, void *list_head, int maxdepth, unsigned int flags)
{
pkgconf_list_t *list = list_head;
int eflag;
@ -444,7 +444,7 @@ apply_libs(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *list_head
}
static bool
apply_requires(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
apply_requires(pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
{
pkgconf_node_t *iter;
(void) unused;
@ -458,14 +458,14 @@ apply_requires(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unuse
pkg = pkgconf_pkg_verify_dependency(client, dep, flags, NULL);
print_requires(pkg);
pkgconf_pkg_free(pkg);
pkgconf_pkg_free(&pkg_client, pkg);
}
return true;
}
static bool
apply_requires_private(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
apply_requires_private(pkgconf_client_t *client, pkgconf_pkg_t *world, void *unused, int maxdepth, unsigned int flags)
{
pkgconf_node_t *iter;
(void) unused;
@ -479,13 +479,13 @@ apply_requires_private(const pkgconf_client_t *client, pkgconf_pkg_t *world, voi
pkg = pkgconf_pkg_verify_dependency(client, dep, flags | PKGCONF_PKG_PKGF_SEARCH_PRIVATE, NULL);
print_requires_private(pkg);
pkgconf_pkg_free(pkg);
pkgconf_pkg_free(&pkg_client, pkg);
}
return true;
}
static void
check_uninstalled(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
check_uninstalled(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
{
int *retval = data;
(void) client;
@ -496,7 +496,7 @@ check_uninstalled(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data
}
static bool
apply_uninstalled(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth, unsigned int flags)
apply_uninstalled(pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth, unsigned int flags)
{
int eflag;
@ -509,7 +509,7 @@ apply_uninstalled(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *da
}
static void
print_graph_node(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
print_graph_node(pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data, unsigned int flags)
{
pkgconf_node_t *n;
@ -541,7 +541,7 @@ print_graph_node(const pkgconf_client_t *client, pkgconf_pkg_t *pkg, void *data,
}
static bool
apply_simulate(const pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth, unsigned int flags)
apply_simulate(pkgconf_client_t *client, pkgconf_pkg_t *world, void *data, int maxdepth, unsigned int flags)
{
int eflag;
@ -1111,7 +1111,6 @@ out_println:
out:
pkgconf_client_deinit(&pkg_client);
pkgconf_cache_free();
if (logfile_out != NULL)
fclose(logfile_out);