(state, arg_type, expected_value, real_value)
return False
:param SimState state:
        :param simvuex.s_type.SimType arg_type:
        :param claripy.ast.Base expected_value:
        :param claripy.ast.Base real_value:
        :return:
        :rtype: bool
def _compare_arguments(state, arg_type, expected_value, real_value):
        """

        :param SimState state:
        :param simvuex.s_type.SimType arg_type:
        :param claripy.ast.Base expected_value:
        :param claripy.ast.Base real_value:
        :return:
        :rtype: bool
        """

        if real_value.symbolic:
            # we do not support symbolic arguments yet
            return False

        if isinstance(arg_type, SimTypePointer):
            # resolve the pointer and compare the content
            points_to_type = arg_type.pts_to

            if isinstance(points_to_type, SimTypeChar):
                # char *
                # perform a concrete string comparison
                ptr = real_value
                return CallFunctionGoal._compare_pointer_content(state, ptr, expected_value)

            else:
                l.error('Unsupported argument type %s in _compare_arguments(). Please bug Fish to implement.', arg_type)

        elif isinstance(arg_type, SimTypeString):
            # resolve the pointer and compare the content
            ptr = real_value
            return CallFunctionGoal._compare_pointer_content(state, ptr, expected_value)

        elif isinstance(arg_type, SimTypeReg):
            # directly compare the numbers
            return CallFunctionGoal._compare_integer_content(state, real_value, expected_value)

        else:
            l.error('Unsupported argument type %s in _compare_arguments(). Please bug Fish to implement.', arg_type)

        return False
def _compare_arguments ( state , arg_type , expected_value , real_value ) : if real_value . symbolic : # we do not support symbolic arguments yet return False if isinstance ( arg_type , SimTypePointer ) : # resolve the pointer and compare the content points_to_type = arg_type . pts_to if isinstance ( points_to_type , SimTypeChar ) : # char * # perform a concrete string comparison ptr = real_value return CallFunctionGoal . _compare_pointer_content ( state , ptr , expected_value ) else : l . error ( 'Unsupported argument type %s in _compare_arguments(). Please bug Fish to implement.' , arg_type ) elif isinstance ( arg_type , SimTypeString ) : # resolve the pointer and compare the content ptr = real_value return CallFunctionGoal . _compare_pointer_content ( state , ptr , expected_value ) elif isinstance ( arg_type , SimTypeReg ) : # directly compare the numbers return CallFunctionGoal . _compare_integer_content ( state , real_value , expected_value ) else : l . error ( 'Unsupported argument type %s in _compare_arguments(). Please bug Fish to implement.' , arg_type ) return False