diff options
Diffstat (limited to 'gpgme/recipient.c')
| -rw-r--r-- | gpgme/recipient.c | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/gpgme/recipient.c b/gpgme/recipient.c index 02438e47..5a14c0ab 100644 --- a/gpgme/recipient.c +++ b/gpgme/recipient.c @@ -50,6 +50,16 @@ gpgme_recipients_release ( GpgmeRecipients rset )  GpgmeError  gpgme_recipients_add_name (GpgmeRecipients rset, const char *name )  { +    return gpgme_recipients_add_name_with_validity ( +        rset, name, GPGME_VALIDITY_UNKNOWN +        ); +} + +GpgmeError +gpgme_recipients_add_name_with_validity (GpgmeRecipients rset, +                                         const char *name, +                                         GpgmeValidity val ) +{      struct user_id_s *r;      if (!name || !rset ) @@ -57,6 +67,7 @@ gpgme_recipients_add_name (GpgmeRecipients rset, const char *name )      r = xtrymalloc ( sizeof *r + strlen (name) );      if (!r)          return mk_error (Out_Of_Core); +    r->validity = val;      r->name_part = "";      r->email_part = "";      r->comment_part = ""; @@ -66,6 +77,8 @@ gpgme_recipients_add_name (GpgmeRecipients rset, const char *name )      return 0;  } + +  unsigned int   gpgme_recipients_count ( const GpgmeRecipients rset )  { @@ -134,7 +147,19 @@ _gpgme_append_gpg_args_from_recipients (      }      } +int +_gpgme_recipients_all_valid ( const GpgmeRecipients rset ) +{ +    struct user_id_s *r; +    assert (rset); +    for (r=rset->list ; r; r = r->next ) { +        if (r->validity != GPGME_VALIDITY_FULL +            && r->validity != GPGME_VALIDITY_ULTIMATE ) +            return 0; /*no*/ +    } +    return 1; /*yes*/ +} | 
