# File ../lib/roller/BinaryIO/BinaryReader.rb, line 35 def _read(n, size, format) bytes = n * size begin str = @handle.read(bytes) rescue IOError => exception raise BinaryReadError, exception.message end unless str.length == bytes raise BinaryReadError, "Read #{str.size} bytes when expecting #{bytes} bytes" end val = str.unpack(format * n) if n == 1 val.first else val end end