From owner-svn-soc-all@FreeBSD.ORG Thu Sep 5 21:10:18 2013 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 151DD9AE for ; Thu, 5 Sep 2013 21:10:18 +0000 (UTC) (envelope-from mattbw@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DD5A920D7 for ; Thu, 5 Sep 2013 21:10:17 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.7/8.14.7) with ESMTP id r85LAHiP066874 for ; Thu, 5 Sep 2013 21:10:17 GMT (envelope-from mattbw@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.7/8.14.6/Submit) id r85LAHOw066788 for svn-soc-all@FreeBSD.org; Thu, 5 Sep 2013 21:10:17 GMT (envelope-from mattbw@FreeBSD.org) Date: Thu, 5 Sep 2013 21:10:17 GMT Message-Id: <201309052110.r85LAHOw066788@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mattbw@FreeBSD.org using -f From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r256972 - soc2013/mattbw/backend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Sep 2013 21:10:18 -0000 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); }