Date: Thu, 5 Sep 2013 21:10:17 GMT From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r256972 - soc2013/mattbw/backend Message-ID: <201309052110.r85LAHOw066788@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mattbw Date: Thu Sep 5 21:10:17 2013 New Revision: 256972 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=256972 Log: Split search body into two functions. Modified: soc2013/mattbw/backend/search.c Modified: soc2013/mattbw/backend/search.c ============================================================================== --- soc2013/mattbw/backend/search.c Thu Sep 5 20:50:52 2013 (r256971) +++ soc2013/mattbw/backend/search.c Thu Sep 5 21:10:17 2013 (r256972) @@ -26,6 +26,8 @@ #include "pkgutils.h" /* pkgutils_... */ #include "search.h" /* search_... */ +static void search_do_with_it(struct search *search, struct pkgdb_it *it); + /* * Performs the search specified by the given "struct search" and emits each * result according to the likewise-specified filter set. @@ -33,12 +35,10 @@ bool search_do(struct search *search) { - bool success; struct pkgdb_it *it; assert(search != NULL); - success = false; it = pkgdb_search(search->db, search->term, search->type, @@ -47,23 +47,31 @@ NULL); if (it != NULL) { - struct pkg *pkg; + search_do_with_it(search, it); + pkgdb_it_free(it); + } + + return (it != NULL); +} - pkg = NULL; - while (pkgdb_it_next(it, &pkg, PKG_LOAD_BASIC) == EPKG_OK) { - assert(pkg != NULL); - - pkgutils_add_old_version(search->db, pkg, NULL); - emit_filtered_package(pkg, - search->backend, - search->filters, - pkgutils_pkg_current_state(pkg)); - } +static void +search_do_with_it(struct search *search, struct pkgdb_it *it) +{ + struct pkg *pkg; + + assert(search != NULL); + assert(it != NULL); - success = true; - pkg_free(pkg); + pkg = NULL; + while (pkgdb_it_next(it, &pkg, PKG_LOAD_BASIC) == EPKG_OK) { + assert(pkg != NULL); + + pkgutils_add_old_version(search->db, pkg, NULL); + emit_filtered_package(pkg, + search->backend, + search->filters, + pkgutils_pkg_current_state(pkg)); } - pkgdb_it_free(it); - return success; + pkg_free(pkg); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309052110.r85LAHOw066788>