[master] aecd1383f Bitmap checks to return boolean values

Nils Goroll nils.goroll at uplex.de
Mon Aug 29 18:59:04 UTC 2022


commit aecd1383f1fba7bcb3009bfe97e917b898c7fd39
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Mon Aug 29 20:46:00 2022 +0200

    Bitmap checks to return boolean values
    
    Stumpled over (unsigned:1)var = FEATURE(...) not being true
    when it should have been...
    
    Related: We might want to remove some redundancy from common_param.h...

diff --git a/bin/varnishd/common/common_param.h b/bin/varnishd/common/common_param.h
index 14debcca7..4c64c4696 100644
--- a/bin/varnishd/common/common_param.h
+++ b/bin/varnishd/common/common_param.h
@@ -49,7 +49,7 @@ enum debug_bits {
 static inline int
 COM_DO_DEBUG(const volatile uint8_t *p, enum debug_bits x)
 {
-	return (p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7)));
+	return ((p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7))) != 0);
 }
 
 enum experimental_bits {
@@ -61,7 +61,7 @@ enum experimental_bits {
 static inline int
 COM_EXPERIMENT(const volatile uint8_t *p, enum experimental_bits x)
 {
-	return (p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7)));
+	return ((p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7))) != 0);
 }
 
 enum feature_bits {
@@ -73,7 +73,7 @@ enum feature_bits {
 static inline int
 COM_FEATURE(const volatile uint8_t *p, enum feature_bits x)
 {
-	return (p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7)));
+	return ((p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7))) != 0);
 }
 
 enum vcc_feature_bits {
@@ -85,7 +85,7 @@ enum vcc_feature_bits {
 static inline int
 COM_VCC_FEATURE(const volatile uint8_t *p, enum vcc_feature_bits x)
 {
-	return (p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7)));
+	return ((p[(unsigned)x>>3] & (0x80U >> ((unsigned)x & 7))) != 0);
 }
 
 struct poolparam {


More information about the varnish-commit mailing list