/** * Show command */ void command_show(char* line) { char cmd[MAX_BUFFER]; char key[MAX_BUFFER]; char func[MAX_BUFFER]; char arg1[MAX_BUFFER]; char arg2[MAX_BUFFER]; int argc = sscanf(line, "%s %s %s %s %s", cmd, key, func, arg1, arg2); if (argc < 2) { goto invalid; } MATRIX_GUARD(key); if (argc == 2) { display(m); return; } const uint32_t v1 = atoll(arg1) - 1; if (v1 >= g_order) { goto invalid; } if (argc == 4 && strcasecmp(func, "row") == 0) { display_row(m, v1); } else if (argc == 4 && strcasecmp(func, "column") == 0) { display_column(m, v1); } else if (argc == 5 && strcasecmp(func, "element") == 0) { const uint32_t v2 = atoll(arg2) - 1; if (v2 >= g_order) { goto invalid; } display_element(m, v1, v2); } return; invalid: puts("invalid arguments"); }
/* Displays a specific element (used by the display function on each element) */ void Scene::displayElement (Element *e) { display_element (e); }