diff options
author | David Shaw <[email protected]> | 2006-06-28 17:54:35 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2006-06-28 17:54:35 +0000 |
commit | cb117d745709bac42b6ff3afa8744c80b4630057 (patch) | |
tree | 9bf4717442f9fc206b1f0b1bdcaf7c63a4747abb /g10/pkclist.c | |
parent | * sign.c (sign_file): When signing with multiple DSA keys, one being DSA1 (diff) | |
download | gnupg-cb117d745709bac42b6ff3afa8744c80b4630057.tar.gz gnupg-cb117d745709bac42b6ff3afa8744c80b4630057.zip |
* keydb.h, pkclist.c (select_algo_from_prefs, algo_available): Pass a
union for preference hints rather than doing void * games.
* sign.c (sign_file): Use it here.
Diffstat (limited to 'g10/pkclist.c')
-rw-r--r-- | g10/pkclist.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/g10/pkclist.c b/g10/pkclist.c index 763368b6a..cae60b209 100644 --- a/g10/pkclist.c +++ b/g10/pkclist.c @@ -1186,7 +1186,7 @@ build_pk_list( STRLIST rcpts, PK_LIST *ret_pk_list, unsigned int use ) preference list, so I'm including it. -dms */ int -algo_available( preftype_t preftype, int algo, void *hint ) +algo_available( preftype_t preftype, int algo, const union pref_hint *hint ) { if( preftype == PREFTYPE_SYM ) { @@ -1210,18 +1210,18 @@ algo_available( preftype_t preftype, int algo, void *hint ) } else if( preftype == PREFTYPE_HASH ) { - if(hint) + if(hint && hint->digest_length) { - if((*(int *)hint)!=20 || opt.flags.dsa2) + if(hint->digest_length!=20 || opt.flags.dsa2) { /* If --enable-dsa2 is set or the hash isn't 160 bits (which implies DSA2), then we'll accept a hash that is larger than we need. Otherwise we won't accept any hash that isn't exactly the right size. */ - if((*(int *)hint) > md_digest_length(algo)) + if(hint->digest_length > md_digest_length(algo)) return 0; } - else if(((*(int *)hint) != md_digest_length(algo))) + else if(hint->digest_length != md_digest_length(algo)) return 0; } @@ -1259,7 +1259,8 @@ algo_available( preftype_t preftype, int algo, void *hint ) * Return -1 if we could not find an algorithm. */ int -select_algo_from_prefs(PK_LIST pk_list, int preftype, int request, void *hint) +select_algo_from_prefs(PK_LIST pk_list, int preftype, + int request, const union pref_hint *hint) { PK_LIST pkr; u32 bits[8]; |