diff options
| author | agc <agc@NetBSD.org> | 2003-03-15 20:49:25 +0000 |
|---|---|---|
| committer | agc <agc@NetBSD.org> | 2003-03-15 20:49:25 +0000 |
| commit | 2c442ad8d2e4fa59ca1898be4158fa46ac43bda5 (patch) | |
| tree | 886f75a0d26eb4f6b790acea6ea2ddeeb746f07a /usr.sbin/pkg_install/lib | |
| parent | 640bee30109d49aecf2e7ee4ba3070aea8b250d7 (diff) | |
Introduce a pkgdb_dump() function, which dumps the cache file of
(filename, package) pairs.
Modify calling functions to use pkgdb_dump() directly, rather than
sequences of
pkgdb_open
{ pkgdb_iter, pkgdb_retrieve }
pkgdb_close
calls.
Remove the now unnecessary pkgdb_iter function.
Diffstat (limited to 'usr.sbin/pkg_install/lib')
| -rw-r--r-- | usr.sbin/pkg_install/lib/lib.h | 4 | ||||
| -rw-r--r-- | usr.sbin/pkg_install/lib/pkgdb.c | 51 |
2 files changed, 23 insertions, 32 deletions
diff --git a/usr.sbin/pkg_install/lib/lib.h b/usr.sbin/pkg_install/lib/lib.h index 831a5903247..9d207524c7c 100644 --- a/usr.sbin/pkg_install/lib/lib.h +++ b/usr.sbin/pkg_install/lib/lib.h @@ -1,4 +1,4 @@ -/* $NetBSD: lib.h,v 1.48 2003/01/10 11:55:46 agc Exp $ */ +/* $NetBSD: lib.h,v 1.49 2003/03/15 20:49:27 agc Exp $ */ /* from FreeBSD Id: lib.h,v 1.25 1997/10/08 07:48:03 charnier Exp */ @@ -276,9 +276,9 @@ int pkgdb_open(int); void pkgdb_close(void); int pkgdb_store(const char *, const char *); char *pkgdb_retrieve(const char *); +void pkgdb_dump(void); int pkgdb_remove(const char *); int pkgdb_remove_pkg(const char *); -char *pkgdb_iter(void); char *_pkgdb_getPKGDB_FILE(char *, unsigned); char *_pkgdb_getPKGDB_DIR(void); diff --git a/usr.sbin/pkg_install/lib/pkgdb.c b/usr.sbin/pkg_install/lib/pkgdb.c index e73da77f90b..ec7c53e7b13 100644 --- a/usr.sbin/pkg_install/lib/pkgdb.c +++ b/usr.sbin/pkg_install/lib/pkgdb.c @@ -1,8 +1,8 @@ -/* $NetBSD: pkgdb.c,v 1.13 2003/01/10 10:17:24 agc Exp $ */ +/* $NetBSD: pkgdb.c,v 1.14 2003/03/15 20:49:27 agc Exp $ */ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: pkgdb.c,v 1.13 2003/01/10 10:17:24 agc Exp $"); +__RCSID("$NetBSD: pkgdb.c,v 1.14 2003/03/15 20:49:27 agc Exp $"); #endif /* @@ -47,7 +47,6 @@ __RCSID("$NetBSD: pkgdb.c,v 1.13 2003/01/10 10:17:24 agc Exp $"); #define PKGDB_FILE "pkgdb.byfile.db" /* indexed by filename */ static DB *pkgdbp; -static int pkgdb_iter_flag; /* * Open the pkg-database @@ -61,8 +60,6 @@ pkgdb_open(int mode) BTREEINFO info; char cachename[FILENAME_MAX]; - pkgdb_iter_flag = 0; /* used in pkgdb_iter() */ - /* try our btree format first */ info.flags = 0; info.cachesize = 2*1024*1024; @@ -146,6 +143,25 @@ pkgdb_retrieve(const char *key) return vald.data; } +/* dump contents of the database to stdout */ +void +pkgdb_dump(void) +{ + DBT key; + DBT val; + int type; + + if (pkgdb_open(ReadOnly)) { + for (type = R_FIRST ; (*pkgdbp->seq)(pkgdbp, &key, &val, type) == 0 ; type = R_NEXT) { + printf("file: %.*s pkg: %.*s\n", + (int) key.size, (char *) key.data, + (int) val.size, (char *) val.data); + } + pkgdb_close(); + } + +} + /* * Remove data set from pkgdb * Return value as ypdb_delete: @@ -205,31 +221,6 @@ pkgdb_remove_pkg(const char *pkg) } /* - * Iterate all pkgdb keys (which can then be handled to pkgdb_retrieve()) - * Return value: - * NULL if no more data is available - * !NULL else - */ -char * -pkgdb_iter(void) -{ - DBT key, val; - int type; - - if (pkgdb_iter_flag == 0) { - pkgdb_iter_flag = 1; - type = R_FIRST; - } else - type = R_NEXT; - - if ((*pkgdbp->seq)(pkgdbp, &key, &val, type) != 0) { - key.data = NULL; - } - - return (char *) key.data; -} - -/* * Return name of cache file in the buffer that was passed. */ char * |
