Lines Matching refs:ustack
39 static undo_t *ustack = NULL; /* undo stack */ variable
49 t = ustack; in push_undo_stack()
51 (t = reallocarray(ustack, (usize += USIZE), sizeof(undo_t))) != NULL) { in push_undo_stack()
52 ustack = t; in push_undo_stack()
53 ustack[u_p].type = type; in push_undo_stack()
54 ustack[u_p].t = get_addressed_line_node(to); in push_undo_stack()
55 ustack[u_p].h = get_addressed_line_node(from); in push_undo_stack()
56 return ustack + u_p++; in push_undo_stack()
62 free(ustack); in push_undo_stack()
63 ustack = NULL; in push_undo_stack()
95 switch(ustack[n].type) { in pop_undo_stack()
97 REQUE(ustack[n].h->q_back, ustack[n].t->q_forw); in pop_undo_stack()
100 REQUE(ustack[n].h->q_back, ustack[n].h); in pop_undo_stack()
101 REQUE(ustack[n].t, ustack[n].t->q_forw); in pop_undo_stack()
105 REQUE(ustack[n - 1].h, ustack[n].h->q_forw); in pop_undo_stack()
106 REQUE(ustack[n].t->q_back, ustack[n - 1].t); in pop_undo_stack()
107 REQUE(ustack[n].h, ustack[n].t); in pop_undo_stack()
114 ustack[n].type ^= 1; in pop_undo_stack()
118 USWAP(ustack[n], ustack[u_p - 1 - n]); in pop_undo_stack()
135 if (ustack[u_p].type == UDEL) { in clear_undo_stack()
136 ep = ustack[u_p].t->q_forw; in clear_undo_stack()
137 for (lp = ustack[u_p].h; lp != ep; lp = tl) { in clear_undo_stack()