diff options
Diffstat (limited to '')
| -rw-r--r-- | tests/gpg/t-eventloop.c | 101 | 
1 files changed, 53 insertions, 48 deletions
| diff --git a/tests/gpg/t-eventloop.c b/tests/gpg/t-eventloop.c index 66dce7fc..597da1c1 100644 --- a/tests/gpg/t-eventloop.c +++ b/tests/gpg/t-eventloop.c @@ -27,11 +27,18 @@  #include <gpgme.h> -#define fail_if_err(a) do { if(a) {                                       \ -                               fprintf (stderr, "%s:%d: gpgme_error_t %s\n", \ -                                __FILE__, __LINE__, gpgme_strerror(a));   \ -                                exit (1); }                               \ -                             } while(0) +#define fail_if_err(err)					\ +  do								\ +    {								\ +      if (err)							\ +        {							\ +          fprintf (stderr, "%s:%d: gpgme_error_t %s\n",		\ +                   __FILE__, __LINE__, gpgme_strerror (err));   \ +          exit (1);						\ +        }							\ +    }								\ +  while (0) +  static void  print_data (gpgme_data_t dh) @@ -114,6 +121,7 @@ io_event (void *data, gpgme_event_io_t type, void *type_data)      }  } +  int  do_select (void)  { @@ -166,6 +174,7 @@ my_wait (void)    return 0;  } +  struct gpgme_io_cbs io_cbs =    {      add_io_cb, @@ -175,13 +184,15 @@ struct gpgme_io_cbs io_cbs =      &op_result    }; +  int   main (int argc, char *argv[])  {    gpgme_ctx_t ctx;    gpgme_error_t err;    gpgme_data_t in, out; -  gpgme_recipients_t rset; +  gpgme_user_id_t rset = NULL; +  gpgme_user_id_t *rset_lastp = &rset;    int i;    for (i = 0; i < FDLIST_MAX; i++) @@ -190,49 +201,43 @@ main (int argc, char *argv[])    err = gpgme_engine_check_version (GPGME_PROTOCOL_OpenPGP);    fail_if_err (err); -  do -    { -      err = gpgme_new (&ctx); -      fail_if_err (err); -      gpgme_set_armor (ctx, 1); -      gpgme_set_io_cbs (ctx, &io_cbs); -      op_result.done = 0; - -      err = gpgme_data_new_from_mem (&in, "Hallo Leute\n", 12, 0); -      fail_if_err (err); - -      err = gpgme_data_new (&out); -      fail_if_err (err); - -      err = gpgme_recipients_new (&rset); -      fail_if_err (err); -      err = gpgme_recipients_add_name_with_validity (rset, "Bob", -						     GPGME_VALIDITY_FULL); -      fail_if_err (err); -      err = gpgme_recipients_add_name_with_validity (rset, "Alpha", -						     GPGME_VALIDITY_FULL); -      fail_if_err (err); - -      err = gpgme_op_encrypt_start (ctx, rset, in, out); -      fail_if_err (err); - -      my_wait (); -      fail_if_err (op_result.err); -      fail_if_err (err); - -      fflush (NULL); -      fputs ("Begin Result:\n", stdout); -      print_data (out); -      fputs ("End Result.\n", stdout); +  err = gpgme_new (&ctx); +  fail_if_err (err); +  gpgme_set_armor (ctx, 1); +  gpgme_set_io_cbs (ctx, &io_cbs); +  op_result.done = 0; + +  err = gpgme_data_new_from_mem (&in, "Hallo Leute\n", 12, 0); +  fail_if_err (err); + +  err = gpgme_data_new (&out); +  fail_if_err (err); + +  err = gpgme_user_ids_append (rset_lastp, "Alpha"); +  fail_if_err (err); +  (*rset_lastp)->validity = GPGME_VALIDITY_FULL; + +  rset_lastp = &(*rset_lastp)->next; +  err = gpgme_user_ids_append (rset_lastp, "Bob"); +  fail_if_err (err); +  (*rset_lastp)->validity = GPGME_VALIDITY_FULL; + +  err = gpgme_op_encrypt_start (ctx, rset, in, out); +  fail_if_err (err); + +  my_wait (); +  fail_if_err (op_result.err); +  fail_if_err (err); + +  fflush (NULL); +  fputs ("Begin Result:\n", stdout); +  print_data (out); +  fputs ("End Result.\n", stdout); -      gpgme_recipients_release (rset); -      gpgme_data_release (in); -      gpgme_data_release (out); -      gpgme_release (ctx); -    } -  while (argc > 1 && !strcmp (argv[1], "--loop")); +  gpgme_user_ids_release (rset); +  gpgme_data_release (in); +  gpgme_data_release (out); +  gpgme_release (ctx);    return 0;  } - - | 
