Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
provides/requires: use bsearch everywhere possible
Baptiste Daroussin committed 11 months ago
commit 30787eeac1e9bf6aa291654f288d430c404f2914
parent c329d0a
3 files changed +5 -5
modified libpkg/pkg_abi.c
@@ -447,8 +447,8 @@ pkg_cleanup_shlibs_required(struct pkg *pkg, charv_t *internal_provided)

	vec_foreach(pkg->shlibs_required, i) {
		const char *s = pkg->shlibs_required.d[i];
-
		if (charv_contains(&pkg->shlibs_provided, s, false) ||
-
		    charv_contains(internal_provided, s, false)) {
+
		if (charv_search(&pkg->shlibs_provided, s) != NULL ||
+
		    charv_search(internal_provided, s) != NULL) {
			pkg_debug(2,
			    "remove %s from required shlibs as the "
			    "package %s provides this library itself",
modified libpkg/pkg_add.c
@@ -1392,7 +1392,7 @@ pkg_add_cleanup_old(struct pkgdb *db, struct pkg *old, struct pkg *new, struct t
					const char *libname;
					libname = strrchr(f->path, '/');
					if (libname != NULL &&
-
					    charv_contains(&old->shlibs_provided, libname+1, false)) {
+
					    charv_search(&old->shlibs_provided, libname+1) != NULL) {
						backup_library(db, old, f->path);
					}
				}
modified libpkg/pkg_solve.c
@@ -308,7 +308,7 @@ pkg_solve_handle_provide (struct pkg_solve_problem *problem,
		pkg = curvar->unit->pkg;

		if (pr->is_shlib) {
-
			libfound = charv_contains(&pkg->shlibs_provided, pr->provide, false);
+
			libfound = (charv_search(&pkg->shlibs_provided, pr->provide) != NULL);
			/* Skip incompatible ABI as well */
			if (libfound && !STREQ(pkg->abi, orig->abi)) {
				dbg(2, "require %s: package %s-%s(%c) provides wrong ABI %s, "
@@ -318,7 +318,7 @@ pkg_solve_handle_provide (struct pkg_solve_problem *problem,
			}
		}
		else {
-
			providefound = charv_contains(&pkg->provides, pr->provide, false);
+
			providefound = (charv_search(&pkg->provides, pr->provide) != NULL);
		}

		if (!providefound && !libfound) {