Home | History | Annotate | Download | only in common

Lines Matching refs:ep

102 log_init(SCR *sp, EXF *ep)
106 * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER.
114 ep->l_cursor.lno = 1; /* XXX Any valid recno. */
115 ep->l_cursor.cno = 0;
116 ep->l_high = ep->l_cur = 1;
118 if (db_create(&ep->log, 0, 0) != 0 ||
119 db_open(ep->log, NULL, DB_RECNO,
122 F_SET(ep, F_NOLOG);
126 ep->l_win = NULL;
127 /*LOCK_INIT(sp->wp, ep);*/
139 log_end(SCR *sp, EXF *ep)
143 * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER.
145 /*LOCK_END(sp->wp, ep);*/
146 if (ep->log != NULL) {
147 (void)(ep->log->close)(ep->log, DB_NOSYNC);
148 ep->log = NULL;
155 ep->l_cursor.lno = 1; /* XXX Any valid recno. */
156 ep->l_cursor.cno = 0;
157 ep->l_high = ep->l_cur = 1;
170 EXF *ep;
172 ep = sp->ep;
173 if (F_ISSET(ep, F_NOLOG))
180 if (ep->l_cursor.lno == OOBLNO) {
181 if (ep->l_win && ep->l_win != sp->wp)
183 ep->l_cursor.lno = sp->lno;
184 ep->l_cursor.cno = sp->cno;
185 ep->l_win = NULL;
188 ep->l_cursor.lno = sp->lno;
189 ep->l_cursor.cno = sp->cno;
201 EXF *ep;
203 ep = sp->ep;
207 LOCK_TRY(sp->wp, ep))
213 memmove(sp->wp->l_lp + sizeof(u_char), &ep->l_cursor, sizeof(MARK));
216 key.data = &ep->l_cur;
221 if (ep->log->put(ep->log, NULL, &key, &data, 0) == -1)
225 vtrace(sp, "%lu: %s: %u/%u\n", ep->l_cur,
230 ep->l_high = ++ep->l_cur;
234 LOCK_UNLOCK(sp->wp, ep);
249 EXF *ep;
254 ep = sp->ep;
255 if (F_ISSET(ep, F_NOLOG))
264 F_CLR(ep, F_UNDO);
267 if (ep->l_cursor.lno != OOBLNO) {
270 ep->l_cursor.lno = OOBLNO;
271 ep->l_win = sp->wp;
272 } /*else if (ep->l_win != sp->wp) {
273 printf("log_line own: %p, this: %p\n", ep->l_win, sp->wp);
310 lcur = ep->l_cur;
317 if (ep->log->put(ep->log, NULL, &key, &data, 0) == -1)
324 ep->l_cur, lno, len);
328 ep->l_cur, lno, len);
332 ep->l_cur, lno, len);
336 ep->l_cur, lno, len);
340 ep->l_cur, lno, len);
344 ep->l_cur, lno, len);
349 ep->l_high = ++ep->l_cur;
367 EXF *ep;
369 ep = sp->ep;
370 if (F_ISSET(ep, F_NOLOG))
374 if (ep->l_cursor.lno != OOBLNO) {
377 ep->l_cursor.lno = OOBLNO;
378 ep->l_win = sp->wp;
387 key.data = &ep->l_cur;
392 if (ep->log->put(ep->log, NULL, &key, &data, 0) == -1)
397 ep->l_cur, lmp->name, lmp->lno, lmp->cno);
400 ep->l_high = ++ep->l_cur;
413 EXF *ep;
415 ep = sp->ep;
428 switch (ep->log->get(ep->log, NULL, &key, &data, 0)) {
449 EXF *ep;
457 ep = sp->ep;
458 if (F_ISSET(ep, F_NOLOG)) {
464 if (ep->l_cur == 1) {
469 if (ep->l_win && ep->l_win != sp->wp) {
473 ep->l_win = sp->wp;
476 F_SET(ep, F_NOLOG); /* Turn off logging. */
479 --ep->l_cur;
480 if (vi_log_get(sp, &ep->l_cur, &size))
483 log_trace(sp, "log_backward", ep->l_cur, data.data);
489 F_CLR(ep, F_NOLOG);
490 ep->l_win = NULL;
539 err: F_CLR(ep, F_NOLOG);
540 ep->l_win = NULL;
559 EXF *ep;
566 ep = sp->ep;
567 if (F_ISSET(ep, F_NOLOG)) {
573 if (ep->l_cur == 1)
576 if (ep->l_win && ep->l_win != sp->wp) {
580 ep->l_win = sp->wp;
582 F_SET(ep, F_NOLOG); /* Turn off logging. */
585 --ep->l_cur;
586 if (vi_log_get(sp, &ep->l_cur, &size))
589 log_trace(sp, "log_setline", ep->l_cur, data.data);
594 if (m.lno != sp->lno || ep->l_cur == 1) {
595 F_CLR(ep, F_NOLOG);
596 ep->l_win = NULL;
603 ++ep->l_cur;
604 F_CLR(ep, F_NOLOG);
605 ep->l_win = NULL;
636 err: F_CLR(ep, F_NOLOG);
637 ep->l_win = NULL;
650 EXF *ep;
658 ep = sp->ep;
659 if (F_ISSET(ep, F_NOLOG)) {
665 if (ep->l_cur == ep->l_high) {
670 if (ep->l_win && ep->l_win != sp->wp) {
674 ep->l_win = sp->wp;
676 F_SET(ep, F_NOLOG); /* Turn off logging. */
679 ++ep->l_cur;
680 if (vi_log_get(sp, &ep->l_cur, &size))
683 log_trace(sp, "log_forward", ep->l_cur, data.data);
688 ++ep->l_cur;
690 F_CLR(ep, F_NOLOG);
691 ep->l_win = NULL;
740 err: F_CLR(ep, F_NOLOG);
741 ep->l_win = NULL;
752 EXF *ep;
755 ep = sp->ep;
756 (void)ep->log->close(ep->log, DB_NOSYNC);
757 if (!log_init(sp, ep))