2002-09-02 Marcus Brinkmann <marcus@g10code.de>

* gpg/t-keylist.c (main): Test PATTERN for NULL before printing.
	Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.
This commit is contained in:
Marcus Brinkmann 2002-09-02 13:01:29 +00:00
parent 442f2fe541
commit 05c75f41a5
2 changed files with 106 additions and 89 deletions

View File

@ -1,3 +1,8 @@
2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-keylist.c (main): Test PATTERN for NULL before printing.
Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.
2002-08-01 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-edit.c: Also add a test for the expire command (testing

View File

@ -41,22 +41,24 @@ doit ( GpgmeCtx ctx, const char *pattern )
err = gpgme_op_keylist_start (ctx, pattern, 0);
fail_if_err (err);
while ( !(err = gpgme_op_keylist_next ( ctx, &key )) ) {
while (!(err = gpgme_op_keylist_next (ctx, &key)))
{
char *p;
const char *s;
int i;
printf ("<!-- Begin key object (%p) -->\n", key);
p = gpgme_key_get_as_xml (key);
if ( p ) {
if (p)
{
fputs (p, stdout);
free (p);
}
else
fputs("<!-- Ooops: gpgme_key_get_as_xml failed -->\n", stdout);
for (i=0; ; i++ ) {
for (i = 0; ; i++)
{
s = gpgme_key_get_string_attr (key, GPGME_ATTR_KEYID, NULL, i);
if (!s)
break;
@ -66,7 +68,8 @@ doit ( GpgmeCtx ctx, const char *pattern )
s = gpgme_key_get_string_attr (key, GPGME_ATTR_KEY_CAPS, NULL, i);
printf ("<!-- caps.%d=%s -->\n", i, s);
}
for (i=0; ; i++ ) {
for (i = 0; ; i++)
{
s = gpgme_key_get_string_attr (key, GPGME_ATTR_NAME, NULL, i);
if (!s)
break;
@ -106,22 +109,25 @@ check_two_contexts (void)
GpgmeKey key;
err = gpgme_new(&ctx1); fail_if_err (err);
err = gpgme_op_keylist_start(ctx1, "", 1); fail_if_err (err);
err = gpgme_op_keylist_start(ctx1, "", 1);
fail_if_err (err);
err = gpgme_new(&ctx2); fail_if_err (err);
err = gpgme_op_keylist_start(ctx2, "", 1); fail_if_err (err);
err = gpgme_op_keylist_start(ctx2, "", 1);
fail_if_err (err);
while ( (err=gpgme_op_keylist_next(ctx2, &key)) != GPGME_EOF) {
while ((err = gpgme_op_keylist_next (ctx2, &key)) != GPGME_EOF)
gpgme_key_release (key);
}
if (err != GPGME_EOF)
fail_if_err (err);
while ( (err=gpgme_op_keylist_next(ctx1, &key)) != GPGME_EOF) {
while ((err=gpgme_op_keylist_next(ctx1, &key)) != GPGME_EOF)
gpgme_key_release (key);
}
if (err != GPGME_EOF)
fail_if_err (err);
}
int
main (int argc, char **argv)
{
@ -130,11 +136,14 @@ main (int argc, char **argv )
int loop = 0;
const char *pattern;
if( argc ) {
argc--; argv++;
if (argc)
{
argc--;
argv++;
}
if (argc && !strcmp( *argv, "--loop" ) ) {
if (argc && !strcmp( *argv, "--loop"))
{
loop = 1;
argc--; argv++;
}
@ -145,11 +154,14 @@ main (int argc, char **argv )
err = gpgme_new (&ctx);
fail_if_err (err);
gpgme_set_keylist_mode (ctx, 1); /* no validity calculation */
do {
fprintf (stderr, "** pattern=`%s'\n", pattern );
/* No validity calculation. */
gpgme_set_keylist_mode (ctx, 1);
do
{
fprintf (stderr, "** pattern=`%s'\n", pattern ? pattern : "(null)");
doit (ctx, pattern);
} while ( loop );
}
while (loop);
gpgme_release (ctx);
check_two_contexts ();