Ejemplo n.º 1
0
/**
 * 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");
}
Ejemplo n.º 2
0
/* Displays a specific element (used by the display function on each element) */
void Scene::displayElement (Element *e) {
    display_element (e);
}