#include "parser.h" // retourne le type de commande à exécuter cmd_token parse_cmd() { char buf[198], cmd[5], arg[193]; cmd_token token; token.type = ERROR; memset(token.arg, 0, 193); if(fgets(buf, 198, stdin) == NULL) return token; // cmd sera le premier mot rencontré et arg la suite de mots après celui ci, si les deux variables ne sont pas remplies alors il y a une erreur if(sscanf(buf, "%s %[^\t\n]", cmd, arg) != 2) return token; if(strcmp("req", cmd) == 0) { if(strcmp("neighbour", arg) == 0) token.type = NEIGHBOUR_REQ; else if(strcmp("network state", arg) == 0) token.type = NETWORK_STATE_REQ; else if(strcmp("node state", arg) == 0) token.type = NODE_STATE_REQ; } else if(strcmp("post", cmd) == 0) { token.type = POST; //arg[192] = 0; strcpy(token.arg, arg); } return token; }