int		interpret_command(t_server *server, t_client *client)
{
    size_t	i;
    int		ret;

    i = 0;
    ret = 0;
    while (g_cmds[i].name && strncmp(client->buffer_in,
                                     g_cmds[i].name,
                                     strlen(g_cmds[i].name)))
        i += 1;
    if (g_cmds[i].name && g_cmds[i].need_registered && !client->registered)
    {
        reply(client, ERR_NOTREGISTERED);
    }
    else if (g_cmds[i].name)
    {
        client->nb_wrong_cmd = 0;
        ret = g_cmds[i].fct(server, client);
    }
    else
    {
        manage_errors(server, client);
    }
    return (ret);
}
Beispiel #2
0
void 
xgv_ccu_state_machine(OjCmpt XGV_CCU)			// Ready state callback function of the xgv_ccu
{
	if (g_control_mode == WRENCH_EFFORTS_MODE)
		send_set_wrench_efforts_message(XGV_CCU);
	else if (g_control_mode == MOTION_PROFILES_MODE)
		send_set_motion_profile_message(XGV_CCU);
	if ((g_XGV_num_errors != 0) || (g_num_errors != 0))
		manage_errors();
}