Lines Matching defs:ep

98 	EXF *ep)
102 * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER.
108 ep->l_lp = NULL;
109 ep->l_len = 0;
110 ep->l_cursor.lno = 1; /* XXX Any valid recno. */
111 ep->l_cursor.cno = 0;
112 ep->l_high = ep->l_cur = 1;
114 ep->log = dbopen(NULL, O_CREAT | O_NONBLOCK | O_RDWR,
116 if (ep->log == NULL) {
118 F_SET(ep, F_NOLOG);
134 EXF *ep)
138 * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER.
140 if (ep->log != NULL) {
141 (void)(ep->log->close)(ep->log);
142 ep->log = NULL;
144 if (ep->l_lp != NULL) {
145 free(ep->l_lp);
146 ep->l_lp = NULL;
148 ep->l_len = 0;
149 ep->l_cursor.lno = 1; /* XXX Any valid recno. */
150 ep->l_cursor.cno = 0;
151 ep->l_high = ep->l_cur = 1;
164 EXF *ep;
166 ep = sp->ep;
167 if (F_ISSET(ep, F_NOLOG))
174 if (ep->l_cursor.lno == OOBLNO) {
175 ep->l_cursor.lno = sp->lno;
176 ep->l_cursor.cno = sp->cno;
179 ep->l_cursor.lno = sp->lno;
180 ep->l_cursor.cno = sp->cno;
194 EXF *ep;
196 ep = sp->ep;
198 BINC_RETC(sp, ep->l_lp, ep->l_len, sizeof(u_char) + sizeof(MARK));
199 ep->l_lp[0] = type;
200 memmove(ep->l_lp + sizeof(u_char), &ep->l_cursor, sizeof(MARK));
202 key.data = &ep->l_cur;
204 data.data = ep->l_lp;
206 if (ep->log->put(ep->log, &key, &data, 0) == -1)
210 TRACE(sp, "%lu: %s: %u/%u\n", ep->l_cur,
215 ep->l_high = ++ep->l_cur;
233 EXF *ep;
238 ep = sp->ep;
239 if (F_ISSET(ep, F_NOLOG))
248 F_CLR(ep, F_UNDO);
251 if (ep->l_cursor.lno != OOBLNO) {
254 ep->l_cursor.lno = OOBLNO;
276 ep->l_lp, ep->l_len,
278 ep->l_lp[0] = action;
279 memmove(ep->l_lp + sizeof(u_char), &lno, sizeof(recno_t));
280 memmove(ep->l_lp + CHAR_T_OFFSET, lp, len * sizeof(CHAR_T));
282 lcur = ep->l_cur;
285 data.data = ep->l_lp;
287 if (ep->log->put(ep->log, &key, &data, 0) == -1)
294 ep->l_cur, lno, len);
298 ep->l_cur, lno, len);
302 ep->l_cur, lno, len);
306 ep->l_cur, lno, len);
310 ep->l_cur, lno, len);
315 ep->l_high = ++ep->l_cur;
335 EXF *ep;
337 ep = sp->ep;
338 if (F_ISSET(ep, F_NOLOG))
342 if (ep->l_cursor.lno != OOBLNO) {
345 ep->l_cursor.lno = OOBLNO;
348 BINC_RETC(sp, ep->l_lp,
349 ep->l_len, sizeof(u_char) + sizeof(LMARK));
350 ep->l_lp[0] = LOG_MARK;
351 memmove(ep->l_lp + sizeof(u_char), lmp, sizeof(LMARK));
353 key.data = &ep->l_cur;
355 data.data = ep->l_lp;
357 if (ep->log->put(ep->log, &key, &data, 0) == -1)
362 ep->l_cur, lmp->name, lmp->lno, lmp->cno);
365 ep->l_high = ++ep->l_cur;
381 EXF *ep;
388 ep = sp->ep;
389 if (F_ISSET(ep, F_NOLOG)) {
395 if (ep->l_cur == 1) {
400 F_SET(ep, F_NOLOG); /* Turn off logging. */
402 key.data = &ep->l_cur; /* Initialize db request. */
405 --ep->l_cur;
406 if (ep->log->get(ep->log, &key, &data, 0))
409 log_trace(sp, "log_backward", ep->l_cur, data.data);
415 F_CLR(ep, F_NOLOG);
463 err: F_CLR(ep, F_NOLOG);
483 EXF *ep;
489 ep = sp->ep;
490 if (F_ISSET(ep, F_NOLOG)) {
496 if (ep->l_cur == 1)
499 F_SET(ep, F_NOLOG); /* Turn off logging. */
501 key.data = &ep->l_cur; /* Initialize db request. */
504 --ep->l_cur;
505 if (ep->log->get(ep->log, &key, &data, 0))
508 log_trace(sp, "log_setline", ep->l_cur, data.data);
513 if (m.lno != sp->lno || ep->l_cur == 1) {
514 F_CLR(ep, F_NOLOG);
521 ++ep->l_cur;
522 F_CLR(ep, F_NOLOG);
553 err: F_CLR(ep, F_NOLOG);
569 EXF *ep;
576 ep = sp->ep;
577 if (F_ISSET(ep, F_NOLOG)) {
583 if (ep->l_cur == ep->l_high) {
588 F_SET(ep, F_NOLOG); /* Turn off logging. */
590 key.data = &ep->l_cur; /* Initialize db request. */
593 ++ep->l_cur;
594 if (ep->log->get(ep->log, &key, &data, 0))
597 log_trace(sp, "log_forward", ep->l_cur, data.data);
602 ++ep->l_cur;
604 F_CLR(ep, F_NOLOG);
652 err: F_CLR(ep, F_NOLOG);
666 EXF *ep;
669 ep = sp->ep;
670 (void)ep->log->close(ep->log);
671 if (!log_init(sp, ep))