int add_binding(Widget window, int keywstate, int function, short value) { keybinding *newbinding; /* If key is already bound to the function, ignore it */ if (isbound(window, keywstate, function, value)) return 1; /* Add the new key binding */ newbinding = new keybinding; newbinding->window = window; newbinding->keywstate = keywstate; newbinding->function = function; newbinding->value = value; newbinding->nextbinding = keylist; keylist = newbinding; return 0; }
int item(struct Info *mx, char *p, int way) { switch (sameCorn(mx, way)) { case UPLEFT: ++mx->i; ++mx->j; break; case UPRIGH: ++mx->i; --mx->j; break; case BOTRIGH: --mx->i; --mx->j; break; case BOTLEFT: --mx->i; ++mx->j; break; default: fprintf(stderr, "item: no match option\n"); break; } for (; isbound(mx, way) && !p[(coor(mx->col, mx->i, mx->j))]; condit(mx, way)) { p[(coor(mx->col, mx->i, mx->j))] = mx->count; if (mx->ord == INC) ++mx->count; else if (mx->ord == DEC) --mx->count; } if (mx->ord == INC) { if (mx->count > mx->row * mx->col) return 1; } else if (mx->ord == DEC) { if (mx->count == 0) return 1; } return 0; }