Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit c4a08f1

Browse files
authoredAug 22, 2021
Fix bitWrite with parenthesis
Current version does not wrap arguments in "()", so works incorrectly when used like this: ``` bitWrite(var, bit, cond?1:0); ``` Same as in here: espressif/arduino-esp32#4466
1 parent fa8bebd commit c4a08f1

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed
 

‎cores/arduino/wiring_constants.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ enum BitOrder {
9191
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
9292
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
9393
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
94-
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
94+
#define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet((value), (bit)) : bitClear((value), (bit) ))
9595

9696
#define bit(b) (1UL << (b))
9797
//macro added for compatibility

0 commit comments

Comments
 (0)
Please sign in to comment.