Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2013 05:19:58 GMT
From:      mattbw@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r254444 - in soc2013/mattbw/backend: . actions query
Message-ID:  <201307090519.r695Jw00092682@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <stdbool.h>		/* 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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307090519.r695Jw00092682>