diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-06-14 02:18:41 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-06-14 02:18:41 +0000 |
commit | 43fa2191c37590f0eba6d5b665e01426f6aeac1d (patch) | |
tree | 90a65391b524b8f48688ef2fda5677924fea89dc /qsearch.c | |
parent | import initial cache support (diff) | |
download | portage-utils-43fa2191c37590f0eba6d5b665e01426f6aeac1d.tar.gz portage-utils-43fa2191c37590f0eba6d5b665e01426f6aeac1d.tar.bz2 portage-utils-43fa2191c37590f0eba6d5b665e01426f6aeac1d.zip |
add support for metadata parsing
Diffstat (limited to 'qsearch.c')
-rw-r--r-- | qsearch.c | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -1,7 +1,7 @@ /* * Copyright 2005 Gentoo Foundation * Distributed under the terms of the GNU General Public License v2 - * $Header: /var/cvsroot/gentoo-projects/portage-utils/qsearch.c,v 1.6 2005/06/14 00:16:05 vapier Exp $ + * $Header: /var/cvsroot/gentoo-projects/portage-utils/qsearch.c,v 1.7 2005/06/14 02:18:41 vapier Exp $ * * 2005 Ned Ludd - <solar@gentoo.org> * 2005 Mike Frysinger - <vapier@gentoo.org> @@ -109,6 +109,21 @@ int qsearch_main(int argc, char **argv) switch (search_cache) { + case CACHE_METADATA: { + portage_cache *pcache; + if ((pcache = cache_read_file(ebuild)) != NULL) { + if ((rematch(search_me, (search_desc ? pcache->DESCRIPTION : ebuild), REG_EXTENDED | REG_ICASE)) == 0) + printf("%s%s/%s%s%s %s\n", BOLD, pcache->atom->CATEGORY, BLUE, + pcache->atom->PN, NORM, pcache->DESCRIPTION); + cache_free(pcache); + } else { + if (!reinitialize) + warnf("(cache update pending) %s", ebuild); + reinitialize = 1; + } + break; + } + case CACHE_EBUILD: { FILE *ebuildfp; str = xstrdup(ebuild); @@ -141,7 +156,7 @@ int qsearch_main(int argc, char **argv) fclose(ebuildfp); } else { if (!reinitialize) - warnf("(cache update pending) %s : %s", ebuild, strerror(errno)); + warnfp("(cache update pending) %s", ebuild); reinitialize = 1; } } |