From 05c75f41a5a1fc1e316ee31a00dc3242e7d0f7e3 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Mon, 2 Sep 2002 13:01:29 +0000 Subject: [PATCH] 2002-09-02 Marcus Brinkmann * gpg/t-keylist.c (main): Test PATTERN for NULL before printing. Reported by Dr. Stefan Dalibor . --- tests/ChangeLog | 5 ++ tests/gpg/t-keylist.c | 198 ++++++++++++++++++++++-------------------- 2 files changed, 110 insertions(+), 93 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 53d427b..aba9187 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2002-09-02 Marcus Brinkmann + + * gpg/t-keylist.c (main): Test PATTERN for NULL before printing. + Reported by Dr. Stefan Dalibor . + 2002-08-01 Marcus Brinkmann * gpg/t-edit.c: Also add a test for the expire command (testing diff --git a/tests/gpg/t-keylist.c b/tests/gpg/t-keylist.c index 532a3ec..d77cd70 100644 --- a/tests/gpg/t-keylist.c +++ b/tests/gpg/t-keylist.c @@ -33,64 +33,67 @@ } while(0) static void -doit ( GpgmeCtx ctx, const char *pattern ) +doit (GpgmeCtx ctx, const char *pattern) { - GpgmeError err; - GpgmeKey key; + GpgmeError err; + GpgmeKey key; - err = gpgme_op_keylist_start (ctx, pattern, 0 ); - fail_if_err (err); + err = gpgme_op_keylist_start (ctx, pattern, 0); + fail_if_err (err); - while ( !(err = gpgme_op_keylist_next ( ctx, &key )) ) { - char *p; - const char *s; - int i; - - printf ("\n", key ); - p = gpgme_key_get_as_xml ( key ); - if ( p ) { - fputs ( p, stdout ); - free (p); + while (!(err = gpgme_op_keylist_next (ctx, &key))) + { + char *p; + const char *s; + int i; + + printf ("\n", key); + p = gpgme_key_get_as_xml (key); + if (p) + { + fputs (p, stdout); + free (p); } - else - fputs("\n", stdout ); - - - for (i=0; ; i++ ) { - s = gpgme_key_get_string_attr (key, GPGME_ATTR_KEYID, NULL, i ); - if (!s) - break; - printf ("\n", i, s ); - s = gpgme_key_get_string_attr (key, GPGME_ATTR_ALGO, NULL, i ); - printf ("\n", i, s ); - s = gpgme_key_get_string_attr (key, GPGME_ATTR_KEY_CAPS, NULL, i ); - printf ("\n", i, s ); + else + fputs("\n", stdout); + + for (i = 0; ; i++) + { + s = gpgme_key_get_string_attr (key, GPGME_ATTR_KEYID, NULL, i); + if (!s) + break; + printf ("\n", i, s); + s = gpgme_key_get_string_attr (key, GPGME_ATTR_ALGO, NULL, i); + printf ("\n", i, s); + s = gpgme_key_get_string_attr (key, GPGME_ATTR_KEY_CAPS, NULL, i); + printf ("\n", i, s); } - for (i=0; ; i++ ) { - s = gpgme_key_get_string_attr (key, GPGME_ATTR_NAME, NULL, i ); - if (!s) - break; - printf ("\n", i, s ); - s = gpgme_key_get_string_attr (key, GPGME_ATTR_EMAIL, NULL, i ); - printf ("\n", i, s ); - s = gpgme_key_get_string_attr (key, GPGME_ATTR_COMMENT, NULL, i ); - printf ("\n", i, s ); + for (i = 0; ; i++) + { + s = gpgme_key_get_string_attr (key, GPGME_ATTR_NAME, NULL, i); + if (!s) + break; + printf ("\n", i, s); + s = gpgme_key_get_string_attr (key, GPGME_ATTR_EMAIL, NULL, i); + printf ("\n", i, s); + s = gpgme_key_get_string_attr (key, GPGME_ATTR_COMMENT, NULL, i); + printf ("\n", i, s); } - - fputs ("\n", stdout ); - - printf ("\n", key ); - gpgme_key_release (key); + + fputs ("\n", stdout ); + + printf ("\n", key); + gpgme_key_release (key); } - if ( err != GPGME_EOF ) - fail_if_err (err); + if (err != GPGME_EOF) + fail_if_err (err); } @@ -101,58 +104,67 @@ doit ( GpgmeCtx ctx, const char *pattern ) static void check_two_contexts (void) { - GpgmeError err; - GpgmeCtx ctx1, ctx2; - GpgmeKey key; + GpgmeError err; + GpgmeCtx ctx1, ctx2; + GpgmeKey key; - err = gpgme_new(&ctx1); 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_new(&ctx1); 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); + + 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) + gpgme_key_release (key); - 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) { - gpgme_key_release (key); - } - if (err != GPGME_EOF) - fail_if_err (err); + if (err != GPGME_EOF) + fail_if_err (err); } + int -main (int argc, char **argv ) +main (int argc, char **argv) { - GpgmeCtx ctx; - GpgmeError err; - int loop = 0; - const char *pattern; + GpgmeCtx ctx; + GpgmeError err; + int loop = 0; + const char *pattern; - if( argc ) { - argc--; argv++; + if (argc) + { + argc--; + argv++; } - if (argc && !strcmp( *argv, "--loop" ) ) { - loop = 1; - argc--; argv++; + if (argc && !strcmp( *argv, "--loop")) + { + loop = 1; + argc--; argv++; } - pattern = argc? *argv : NULL; - - err = gpgme_check_engine(); - fail_if_err (err); - - err = gpgme_new (&ctx); - fail_if_err (err); - gpgme_set_keylist_mode (ctx, 1); /* no validity calculation */ - do { - fprintf (stderr, "** pattern=`%s'\n", pattern ); - doit ( ctx, pattern ); - } while ( loop ); - gpgme_release (ctx); + pattern = argc? *argv : NULL; + + err = gpgme_check_engine(); + fail_if_err (err); + + err = gpgme_new (&ctx); + fail_if_err (err); + /* No validity calculation. */ + gpgme_set_keylist_mode (ctx, 1); + do + { + fprintf (stderr, "** pattern=`%s'\n", pattern ? pattern : "(null)"); + doit (ctx, pattern); + } + while (loop); + gpgme_release (ctx); - check_two_contexts (); + check_two_contexts (); - return 0; + return 0; } -- 2.26.2