void fixkeep(char *s, int first, int last) { struct keeploc *k; k = getkeep(s, 1, 1); if (k->crs_line >= first) { k->crs_line = (first == 1 ? 1 : first - 1); k->top_line = (first < 11 ? 1 : first - 10); } }
void fixkeep(const char *s, int first) { keeploc_t *k; k = getkeep(s, 1, 1); if (k->crs_ln >= first) { k->crs_ln = (first == 1 ? 1 : first - 1); k->top_ln = (first < 11 ? 1 : first - 10); } }
static int choose_board_read(choose_t *cp) { choose_board_t *cbrd = cp->data; board_data_t *ptr = cbrd->brds + cp->cur; if (ptr->flag & BOARD_DIR_FLAG) { int parent = cbrd->parent; const char *prefix = cbrd->prefix; bool recursive = cbrd->recursive; bool goodbrd = cbrd->goodbrd; int cur = cp->cur; cbrd->parent = ptr->pos; cbrd->prefix = NULL; cbrd->recursive = true; cbrd->goodbrd = (ptr->flag & BOARD_CUSTOM_FLAG) ? true : false; choose_board(cbrd); cbrd->parent = parent; cbrd->prefix = prefix; cbrd->recursive = recursive; cbrd->goodbrd = goodbrd; cp->cur = cur; } else { brc_initial(currentuser.userid, ptr->name); changeboard(&currbp, currboard, ptr->name); memcpy(currBM, ptr->BM, BM_LEN - 1); char buf[STRLEN]; if (DEFINE(DEF_FIRSTNEW)) { setbdir(buf, currboard); int tmp = unread_position(buf, ptr); int page = tmp - t_lines / 2; getkeep(buf, page > 1 ? page : 1, tmp + 1); } board_read(); brc_zapbuf(cbrd->zapbuf + ptr->pos); ptr->total = -1; currBM[0] = '\0'; } return FULLUPDATE; }