Esempio n. 1
0
bool			parse_opt_n(t_parse_argv *argv)
{
	t_sub			value;
	int32_t			player_id;

	if (!ft_argv_arg(&argv->args, &value) || value.length == 0)
		PARSE_ARGV_ERR("-n: Require a value");
	else if (ft_subto_int(value, &player_id) != value.length)
		PARSE_ARGV_ERR("-n: Invalid value: %ts", value);
	else if (next_player_id(&argv->vm_loader, player_id) != player_id)
		PARSE_ARGV_ERR("-n: Player id already used: %d", player_id);
	else if (!ft_argv_arg(&argv->args, &value))
		PARSE_ARGV_ERR("Missing file name for player %d", player_id);
	else
		return (push_player(argv, player_id, value));
	return (false);
}
Esempio n. 2
0
player_connection::player_connection( socket_ptr socket, socket_server *server ) : _socket(socket), _player_id(next_player_id()), _server(server) { start_read(); }