socsvn commit: r254444 - in soc2013/mattbw/backend: . actions query
mattbw at FreeBSD.org
mattbw at FreeBSD.org
Tue Jul 9 05:19:58 UTC 2013
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:
More information about the svn-soc-all
mailing list