# Internal code to handle execution
	protected fun execute
	do
		var arguments = self.arguments
		var args = new FlatBuffer
		var argc = 1
		if not is_windows then
			# Pass the arguments as a big C string where elements are separated with '\0'
			args.append command
			if arguments != null then
				for a in arguments do
					args.add '\0'
					args.append a
				end
				argc += arguments.length
			end
		else
			# Combine the program and args in a single string
			assert not command.chars.has('"')
			args = new FlatBuffer
			args.add '"'
			args.append command
			args.add '"'
			if arguments != null then
				for a in arguments do
					args.append " \""
					args.append a.replace('"', "\\\"")
					args.add '"'
				end
			end
		end
		data = basic_exec_execute(command.to_cstring, args.to_s.to_cstring, argc, pipeflags)
		assert not data.address_is_null else print_error "Internal error executing: {command}"
	end
					lib/core/exec.nit:101,2--139,4
				
	redef fun execute
	do
		super
		var out = new FileWriter.from_fd(data.in_fd)
		out.set_buffering_mode(0, sys.buffer_mode_none)
		stream_out = out
	end
					lib/core/exec.nit:381,2--387,4
				
	redef fun execute do super
					lib/core/exec.nit:404,2--27