summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bitfield.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/bitfield.h b/src/bitfield.h
index 3b0cee73..94fb563d 100644
--- a/src/bitfield.h
+++ b/src/bitfield.h
@@ -54,7 +54,12 @@ inline unsigned char lastByteMask(size_t nbits)
if(nbits == 0) {
return 0;
} else {
- return -256 >> (8-((nbits+7)/8*8-nbits));
+ int s = nbits%8;
+ if(s == 0) {
+ return 0xff;
+ } else {
+ return -256 >> s;
+ }
}
}