From owner-svn-soc-all@FreeBSD.ORG Tue Jul 9 05:19:58 2013 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 80B21A8E for ; Tue, 9 Jul 2013 05:19:58 +0000 (UTC) (envelope-from mattbw@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) by mx1.freebsd.org (Postfix) with ESMTP id 639B91856 for ; Tue, 9 Jul 2013 05:19:58 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.7/8.14.7) with ESMTP id r695JwZp092687 for ; Tue, 9 Jul 2013 05:19:58 GMT (envelope-from mattbw@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.7/8.14.6/Submit) id r695Jw00092682 for svn-soc-all@FreeBSD.org; Tue, 9 Jul 2013 05:19:58 GMT (envelope-from mattbw@FreeBSD.org) Date: Tue, 9 Jul 2013 05:19:58 GMT Message-Id: <201307090519.r695Jw00092682@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: r254444 - in soc2013/mattbw/backend: . actions query 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: Tue, 09 Jul 2013 05:19:58 -0000 Author: mattbw Date: Tue Jul 9 05:19:57 2013 New Revision: 254444 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=254444 Log: change db_open_remote to return a pointer directly Modified: soc2013/mattbw/backend/actions/install_files.c soc2013/mattbw/backend/db.c soc2013/mattbw/backend/db.h soc2013/mattbw/backend/query/do.c Modified: soc2013/mattbw/backend/actions/install_files.c ============================================================================== --- soc2013/mattbw/backend/actions/install_files.c Tue Jul 9 05:13:15 2013 (r254443) +++ soc2013/mattbw/backend/actions/install_files.c Tue Jul 9 05:19:57 2013 (r254444) @@ -86,7 +86,8 @@ } else { /* TODO: event hook */ - if (db_open_remote(&db, backend) == FALSE) + db = db_open_remote(backend); + if (db == NULL) goto cleanup; (void)pk_backend_set_status(backend, PK_STATUS_ENUM_INSTALL); Modified: soc2013/mattbw/backend/db.c ============================================================================== --- soc2013/mattbw/backend/db.c Tue Jul 9 05:13:15 2013 (r254443) +++ soc2013/mattbw/backend/db.c Tue Jul 9 05:19:57 2013 (r254444) @@ -28,9 +28,9 @@ #include "utils.h" /* null_if_empty, split_id */ static const unsigned int ACCESS_MODE = (unsigned int)(PKGDB_MODE_READ | - PKGDB_MODE_WRITE); + PKGDB_MODE_WRITE); static const unsigned int ACCESS_DB = (unsigned int)(PKGDB_DB_LOCAL | - PKGDB_DB_REPO); + PKGDB_DB_REPO); /* * Opens a pkgdb ready for remote operations. This will always return TRUE if @@ -42,36 +42,44 @@ * This must be called during the lifetime of "backend", eg after * "pk_backend_initialize" and before "pk_backend_destroy". */ -bool -db_open_remote(struct pkgdb **db_p, PkBackend *backend) +struct pkgdb * +db_open_remote(PkBackend *backend) { bool success; + struct pkgdb *db; - success = false; + success = FALSE; + db = NULL; (void)pk_backend_set_status(backend, PK_STATUS_ENUM_WAITING_FOR_AUTH); if (pkgdb_access(ACCESS_MODE, ACCESS_DB) != EPKG_OK) { (void)pk_backend_error_code(backend, - PK_ERROR_ENUM_NOT_AUTHORIZED, - "cannot access database"); + PK_ERROR_ENUM_NOT_AUTHORIZED, + "cannot access database"); goto cleanup; } (void)pk_backend_set_status(backend, PK_STATUS_ENUM_WAITING_FOR_LOCK); - if (pkgdb_open(db_p, PKGDB_REMOTE) != EPKG_OK) { + if (pkgdb_open(&db, PKGDB_REMOTE) != EPKG_OK) { (void)pk_backend_error_code(backend, - PK_ERROR_ENUM_CANNOT_GET_LOCK, - "cannot open database"); + PK_ERROR_ENUM_CANNOT_GET_LOCK, + "cannot open database"); goto cleanup; } - if (*db_p == NULL) { + if (db == NULL) { (void)pk_backend_error_code(backend, - PK_ERROR_ENUM_INTERNAL_ERROR, - "pkgdb_open gave us a null pointer"); + PK_ERROR_ENUM_INTERNAL_ERROR, + "pkgdb_open gave us a null pointer"); goto cleanup; } (void)pk_backend_set_status(backend, PK_STATUS_ENUM_RUNNING); + success = true; cleanup: - return success; + if (success == false) { + pkgdb_close(db); + db = NULL; + } + + return db; } Modified: soc2013/mattbw/backend/db.h ============================================================================== --- soc2013/mattbw/backend/db.h Tue Jul 9 05:13:15 2013 (r254443) +++ soc2013/mattbw/backend/db.h Tue Jul 9 05:19:57 2013 (r254444) @@ -22,10 +22,9 @@ #ifndef _PKGNG_BACKEND_DB_H_ #define _PKGNG_BACKEND_DB_H_ -#include /* bool */ #include "pk-backend.h" /* PkBackend */ #include "pkg.h" /* struct pkgdb */ -bool db_open_remote(struct pkgdb **db, PkBackend *backend); +struct pkgdb* db_open_remote(PkBackend *backend); #endif /* !_PKGNG_BACKEND_DB_H_ */ Modified: soc2013/mattbw/backend/query/do.c ============================================================================== --- soc2013/mattbw/backend/query/do.c Tue Jul 9 05:13:15 2013 (r254443) +++ soc2013/mattbw/backend/query/do.c Tue Jul 9 05:19:57 2013 (r254444) @@ -43,10 +43,10 @@ bool success; struct pkgdb *db; - db = NULL; success = false; - if (db_open_remote(&db, backend)) { + db = db_open_remote(backend); + if (db != NULL) { switch (s->type) { case QUERY_BACKEND_IDS: case QUERY_BACKEND_MIXED: