/* clear_undo_stack: clear the undo stack */ void clear_undo_stack(void) { line_t *lp, *ep, *tl; while (u_p--) if (ustack[u_p].type == UDEL) { ep = ustack[u_p].t->q_forw; for (lp = ustack[u_p].h; lp != ep; lp = tl) { unmark_line_node(lp); tl = lp->q_forw; free(lp); } } u_p = 0; u_current_addr = current_addr; u_addr_last = addr_last; }
void clear_undo_stack( void ) { while( u_ptr-- ) if( ustack[u_ptr].type == UDEL ) { line_t * const ep = ustack[u_ptr].tail->q_forw; line_t * bp = ustack[u_ptr].head; while( bp != ep ) { line_t * const lp = bp->q_forw; unmark_line_node( bp ); free( bp ); bp = lp; } } u_ptr = 0; u_current_addr = current_addr_; u_last_addr = last_addr_; u_modified = modified_; }