1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

* keyring.h, keyring.c (keyring_register_filename): Return the pointer if

a given keyring is registered twice.

* keydb.h, keydb.c (keydb_add_resource): Use flags to indicate a default
keyring. (keydb_locate_writable): Prefer the default keyring if possible.

* g10.c (main): Add --default-keyring option.
This commit is contained in:
David Shaw 2002-11-08 03:31:21 +00:00
parent bf4a893586
commit 7911a5ed86
6 changed files with 89 additions and 29 deletions

View file

@ -190,25 +190,28 @@ update_offset_hash_table_from_kb (OffsetHashTable tbl, KBNODE node, off_t off)
}
}
/*
* Register a filename for plain keyring files. Returns a pointer to
* be used to create a handles etc or NULL to indicate that it has
* already been registered */
void *
keyring_register_filename (const char *fname, int secret)
* Register a filename for plain keyring files. ptr is set to a
* pointer to be used to create a handles etc, or the already-issued
* pointer if it has already been registered. The function returns 1
* if a new keyring was registered.
*/
int
keyring_register_filename (const char *fname, int secret, void **ptr)
{
KR_NAME kr;
if (active_handles)
BUG (); /* We don't allow that */
for (kr=kr_names; kr; kr = kr->next) {
for (kr=kr_names; kr; kr = kr->next)
{
if ( !compare_filenames (kr->fname, fname) )
return NULL; /* already registered */
}
{
*ptr=kr;
return 0; /* already registered */
}
}
kr = m_alloc (sizeof *kr + strlen (fname));
strcpy (kr->fname, fname);
@ -224,7 +227,9 @@ keyring_register_filename (const char *fname, int secret)
if (!kr_offtbl)
kr_offtbl = new_offset_hash_table ();
return kr;
*ptr=kr;
return 1;
}
int