Read a signed integer on 64 bits and return is an Int

Using this format may result in a loss of precision as the length of a Nit Int may be less than 64 bits on some platforms.

Returns 0 when an error is pending (last_error != null).

Property definitions

binary :: binary $ Reader :: read_int64
	# Read a signed integer on 64 bits and return is an `Int`
	#
	# Using this format may result in a loss of precision as the length of a
	# Nit `Int` may be less than 64 bits on some platforms.
	#
	# Returns `0` when an error is pending (`last_error != null`).
	fun read_int64: Int
	do
		if last_error != null then return 0

		var b0 = read_byte
		var b1 = read_byte
		var b2 = read_byte
		var b3 = read_byte
		var b4 = read_byte
		var b5 = read_byte
		var b6 = read_byte
		var b7 = read_byte

		# Check for error, `last_error` is set by `read_byte`
		if b0 < 0 or b1 < 0 or b2 < 0 or b3 < 0 or
		   b4 < 0 or b5 < 0 or b6 < 0 or b7 < 0 then return 0

		return native_read_int64(b0, b1, b2, b3, b4, b5, b6, b7, big_endian)
	end
lib/binary/binary.nit:291,2--315,4