Exemplo n.º 1
0
void Console_Process(){
	if(COMMAND_HELP){
		COMMAND_HELP = 0;
		Command_Help();
		Console_Prompt();
	}else if(COMMAND_RESET){
		COMMAND_RESET = 0;
		Command_Reset();
		Console_Prompt();
	}else if(COMMAND_INITCARD){
		COMMAND_INITCARD = 0;
		Command_InitCard();
		Console_Prompt();
	}else if(COMMAND_DIR){
		COMMAND_DIR = 0;
		Command_Dir();
		Console_Prompt();
	}else if(COMMAND_CD){
		COMMAND_CD = 0;
		Command_Cd();
		Console_Prompt();
	}else if(COMMAND_FLASH){
		COMMAND_FLASH = 0;
		Command_Flash();
		Console_Prompt();
	}else if(COMMAND_ERASE){
		COMMAND_ERASE = 0;
		Command_Erase();
		Console_Prompt();
	}
}
Exemplo n.º 2
0
void client_exec(Client* client, int i, ClientSet* clients, NoticeBoard* board)
{
    char buffer[512];
    memset(buffer, 0, 512);
    if (difftime(time(NULL), client->last_recv) > 30 * 60) {
        disconnect(client);
        return;
    }

    int bytes_recv = recv(client->socket, buffer, 511, 0);
    if ((bytes_recv == 0) || (bytes_recv == -1 && errno != EAGAIN)) {
        disconnect(client);
        //clients->size--;
        //memmove(client, client + sizeof(Client),
        //        *(clients->clients) - client);
    }

    if (bytes_recv != -1) {
        client->last_recv = time(NULL);
    }

    if (starts(buffer, "read")) {
        Command_Read(*client, clients, board);
    } else if (starts(buffer, "post")) {
        Command_Post(*client, clients, board, buffer);
    } else if (starts(buffer, "time")) {
        Command_Time(*client);
    } else if (starts(buffer, "online")) {
        Command_Online(*client, clients);
    } else if (starts(buffer, "nick")) {
        Command_Nick(client, clients, buffer);
    } else if (starts(buffer, "debug")) {
        Command_Debug(client, clients, board);
    } else if (starts(buffer, "help")) {
        Command_Help(*client);
    } else if (starts(buffer, "motd")) {
        send_motd(client);
    }
}