Beispiel #1
0
void	mini_read_sock(t_all *all)
{
	int		r;
	char	buff[MAX_SIZE];

	ft_memset(buff, 0, ft_strlen(buff));
	while ((r = read(all->sv->c_sock, buff, MAX_SIZE - 1)) > 0)
	{
		buff[r - 1] = '\0';
		// function display */
		printf("Received %d bytes : %s\n", (int)ft_strlen(buff), buff);
		if (buff[0] == 10 || buff[0] == '\0')
			write(all->sv->c_sock, "\0", 1);
		else
		{
			if (try_builtins(all, buff) == 1)
				write(all->sv->c_sock, "~ SUCCESS\n", 10);
			else
			{
				if (try_exec(all, buff) == 1)
					write(all->sv->c_sock, "~ SUCCESS\n", 10);
				else
					write(all->sv->c_sock, "~ ERROR\n", 8);
			}
		 		//try_exec(all, buff);

		}
	}
}
int
main(int argc, const char *argv[]) {
	try_exec("ruby", argc, argv);
	try_exec("/usr/bin/ruby2.5", argc, argv);
	try_exec("/usr/bin/ruby2.4", argc, argv);
	try_exec("/usr/bin/ruby2.3", argc, argv);
	try_exec("/usr/bin/ruby2.2", argc, argv);
	try_exec("/usr/bin/ruby2.1", argc, argv);
	try_exec("/usr/bin/ruby2.0", argc, argv);
	try_exec("/usr/bin/ruby1.9.1", argc, argv);
	try_exec("/usr/bin/ruby1.8", argc, argv);

	fprintf(stderr, "passenger_default_ruby: cannot find suitable Ruby interpreter\n");
	return 1;
}