From d223e1ea9ae864c0e563187f1e76240ef1acad87 Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Fri, 29 May 2020 14:25:19 -0600 Subject: handy.h: Create nBIT_MASK(n) macro This encapsulates a common paradigm, making sure that it is done correctly for the platform's size. --- doop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doop.c') diff --git a/doop.c b/doop.c index 267b640f4d..a06992f906 100644 --- a/doop.c +++ b/doop.c @@ -857,7 +857,7 @@ Perl_do_vecget(pTHX_ SV *sv, STRLEN offset, int size) } } else if (size < 8) - retnum = (s[uoffset] >> bitoffs) & ((1 << size) - 1); + retnum = (s[uoffset] >> bitoffs) & nBIT_MASK(size); else { if (size == 8) retnum = s[uoffset]; @@ -960,7 +960,7 @@ Perl_do_vecset(pTHX_ SV *sv) } if (size < 8) { - mask = (1 << size) - 1; + mask = nBIT_MASK(size); lval &= mask; s[offset] &= ~(mask << bitoffs); s[offset] |= lval << bitoffs; -- cgit v1.2.1