static int check_deps(struct pkgdb *db, struct pkg *p, struct deps_head *dh, bool noinstall) { struct pkg_dep *dep = NULL; char *name, *version, *origin; int nbpkgs = 0; assert(db != NULL); assert(p != NULL); name = version = origin = NULL; pkg_get(p, PKG_NAME, &name, PKG_VERSION, &version, PKG_ORIGIN, &origin); while (pkg_deps(p, &dep) == EPKG_OK) { /* do we have a missing dependency? */ if (pkg_is_installed(db, pkg_dep_origin(dep)) != EPKG_OK) { if (noinstall) printf("%s\n", pkg_dep_origin(dep)); else printf("%s has a missing dependency: %s\n", origin, pkg_dep_origin(dep)); add_missing_dep(dep, dh, &nbpkgs); } } return (nbpkgs); }
static int check_deps(struct pkgdb *db, struct pkg *p, struct deps_head *dh, bool noinstall, struct sbuf *out) { struct pkg_dep *dep = NULL; int nbpkgs = 0; assert(db != NULL); assert(p != NULL); while (pkg_deps(p, &dep) == EPKG_OK) { /* do we have a missing dependency? */ if (pkg_is_installed(db, pkg_dep_name(dep)) != EPKG_OK) { if (quiet) pkg_sbuf_printf(out, "%n\t%sn\n", p, dep); else pkg_sbuf_printf(out, "%n has a missing dependency: %dn\n", p, dep); if (!noinstall) add_missing_dep(dep, dh, &nbpkgs); } } return (nbpkgs); }