static int runcmd(struct disklabel *lp, char *line, int fd) { struct cmds *cmd; for (cmd = cmds; cmd->name != NULL; cmd++) if (strncmp(line, cmd->name, strlen(cmd->name)) == 0) { if (cmd->func == NULL) return -1; (*cmd->func)(lp, line, fd); return 0; } if (line[1] == '\0' && line[0] >= 'a' && line[0] < 'a' + getmaxpartitions()) { cmd_part(lp, line, fd); return 0; } printf("Unknown command %s\n", line); return 1; }
void my_cmd2(char **com, int const cfd) { if (strcmp(com[0], "/part") == 0) cmd_part(com, cfd); else if (strcmp(com[0], "/list") == 0) cmd_list(com, cfd); else if (strcmp(com[0], "/quit") == 0) cmd_quit(com, cfd); else if (strcmp(com[0], "/users") == 0) cmd_users(com, cfd); else if (strcmp(com[0], "/msg") == 0) cmd_mp(com, cfd); else if (strcmp(com[0], "/topic") == 0) cmd_topic(com, cfd); else if (strcmp(com[0], "/kick") == 0) cmd_kick(com, cfd); else if (strcmp(com[0], "/kill") == 0) cmd_kill(com, cfd); else if (strcmp(com[0], "/ping") == 0) dprintf(cfd, "PING \r\n"); else cmd_msg(com, cfd); }