]> 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@sury.org>
Thu, 3 May 2018 15:16:10 +0000 (17:16 +0200)
(cherry picked from commit 22fab3199fad15cd2dda526c63f4d95c38b67671)

lib/dns/dst_parse.c

index 2f758291d4c263dccb3af2d724657b158c34c60d..f1663954865fa38edffbb2bf8f4dc8314154c8a9 100644 (file)
@@ -33,7 +33,6 @@
 
 /*%
  * Principal Author: Brian Wellington
- * $Id: dst_parse.c,v 1.29 2011/08/18 23:46:35 tbox Exp $
  */
 
 #include <config.h>
@@ -216,9 +215,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] &&
@@ -310,9 +307,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];
@@ -342,9 +337,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];