Actually barrel-shift
[naja.git] / naja / player.py
index b471c625135d4aea0d58af975a86e0a59e81c2a8..d4ff73211a54db98354f18c55c02fa5557e9a918 100644 (file)
@@ -50,11 +50,12 @@ class PlayerBits(object):
             self.toggle_bit(bit)
 
     def shift_bits_left(self, shift):
-        self.bits <<= shift
+        wrap = self.bits >> (8 - shift)
+        self.bits = (self.bits << shift & 0xff | wrap)
 
     def shift_bits_right(self, shift):
-        self.bits >>= shift
-
+        wrap = self.bits << (8 - shift) & 0xff
+        self.bits = (self.bits >> shift | wrap)
 
 class Player(object):
     """