(prefix, addr, region, state, base, signed, read_length=None)
return condition, value, total_num_bytes
loads a number from addr, and returns a condition that addr must start with the prefix
loads a number from addr, and returns a condition that addr must start with the prefix
loads a number from addr and returns a condition that addr must start with the prefix
def _load_num_with_prefix(prefix, addr, region, state, base, signed, read_length=None):
        """
        loads a number from addr, and returns a condition that addr must start with the prefix
        """
        length = len(prefix)
        read_length = (read_length-length) if read_length else None
        condition, value, num_bytes = strtol._string_to_int(addr+length, state, region, base, signed, read_length)

        # the prefix must match
        if len(prefix) > 0:
            loaded_prefix = region.load(addr, length)
            condition = state.solver.And(loaded_prefix == state.solver.BVV(prefix), condition)
        total_num_bytes = num_bytes + length

        # negatives
        if prefix.startswith(b"-"):
            value = state.solver.BVV(0, state.arch.bits) - value
        return condition, value, total_num_bytes
def _load_num_with_prefix ( prefix , addr , region , state , base , signed , read_length = None ) : length = len ( prefix ) read_length = ( read_length - length ) if read_length else None condition , value , num_bytes = strtol . _string_to_int ( addr + length , state , region , base , signed , read_length ) # the prefix must match if len ( prefix ) > 0 : loaded_prefix = region . load ( addr , length ) condition = state . solver . And ( loaded_prefix == state . solver . BVV ( prefix ) , condition ) total_num_bytes = num_bytes + length # negatives if prefix . startswith ( b"-" ) : value = state . solver . BVV ( 0 , state . arch . bits ) - value return condition , value , total_num_bytes