]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
simplify mask construction
authorMark Andrews <marka@isc.org>
Tue, 1 May 2018 00:08:23 +0000 (10:08 +1000)
committerOndřej Surý <ondrej@isc.org>
Thu, 3 May 2018 14:56:32 +0000 (10:56 -0400)
lib/dns/dst_parse.c

index e6f8e8e8a0e9e4bdc677d83275fb62251c3bae1b..36d464bf8754b5526a437ae5e6e245acbdf350da 100644 (file)
@@ -25,7 +25,6 @@
 
 /*%
  * Principal Author: Brian Wellington
- * $Id: dst_parse.c,v 1.29 2011/08/18 23:46:35 tbox Exp $
  */
 
 #include <config.h>
@@ -210,9 +209,7 @@ check_rsa(const dst_private_t *priv, isc_boolean_t external) {
                have[i] = ISC_TRUE;
        }
 
-       mask = ~0;
-       mask <<= sizeof(mask) * 8 - TAG_SHIFT;
-       mask >>= sizeof(mask) * 8 - TAG_SHIFT;
+       mask = (1ULL << TAG_SHIFT) - 1;
 
        if (have[TAG_RSA_ENGINE & mask])
                ok = have[TAG_RSA_MODULUS & mask] &&
@@ -304,9 +301,7 @@ check_ecdsa(const dst_private_t *priv, isc_boolean_t external) {
                have[i] = ISC_TRUE;
        }
 
-       mask = ~0;
-       mask <<= sizeof(mask) * 8 - TAG_SHIFT;
-       mask >>= sizeof(mask) * 8 - TAG_SHIFT;
+       mask = (1ULL << TAG_SHIFT) - 1;
 
        if (have[TAG_ECDSA_ENGINE & mask])
                ok = have[TAG_ECDSA_LABEL & mask];
@@ -336,9 +331,7 @@ check_eddsa(const dst_private_t *priv, isc_boolean_t external) {
                have[i] = ISC_TRUE;
        }
 
-       mask = ~0;
-       mask <<= sizeof(mask) * 8 - TAG_SHIFT;
-       mask >>= sizeof(mask) * 8 - TAG_SHIFT;
+       mask = (1ULL << TAG_SHIFT) - 1;
 
        if (have[TAG_EDDSA_ENGINE & mask])
                ok = have[TAG_EDDSA_LABEL & mask];