Lines Matching defs:ustack
35 static undo_t *ustack = NULL; /* undo stack */
46 if (ustack == NULL &&
47 (ustack = (undo_t *) malloc((usize = USIZE) * sizeof(undo_t))) == NULL) {
53 t = ustack;
55 (t = (undo_t *) realloc(ustack, (usize += USIZE) * sizeof(undo_t))) != NULL) {
56 ustack = t;
57 ustack[u_p].type = type;
58 ustack[u_p].t = get_addressed_line_node(to);
59 ustack[u_p].h = get_addressed_line_node(from);
60 return ustack + u_p++;
66 free(ustack);
67 ustack = NULL;
99 switch(ustack[n].type) {
101 REQUE(ustack[n].h->q_back, ustack[n].t->q_forw);
104 REQUE(ustack[n].h->q_back, ustack[n].h);
105 REQUE(ustack[n].t, ustack[n].t->q_forw);
109 REQUE(ustack[n - 1].h, ustack[n].h->q_forw);
110 REQUE(ustack[n].t->q_back, ustack[n - 1].t);
111 REQUE(ustack[n].h, ustack[n].t);
118 ustack[n].type ^= 1;
122 USWAP(ustack[n], ustack[u_p - 1 - n]);
139 if (ustack[u_p].type == UDEL) {
140 ep = ustack[u_p].t->q_forw;
141 for (lp = ustack[u_p].h; lp != ep; lp = tl) {