Lines Matching refs:bp

455 masterline(Sfio_t* mp, Sfio_t* lp, char* prompt, int must, int timeout, Master_t* bp)
467 promptlen = sfsprintf(promptbuf, sizeof(promptbuf), prompt, ++bp->line);
471 if (bp->cur < bp->end && bp->restore >= 0)
472 *bp->cur = bp->restore;
473 if (strneq(bp->cur, promptbuf, promptlen))
474 r = bp->cur;
477 if (bp->cur < bp->end && bp->restore >= 0)
478 *bp->cur = 0;
484 if (r = bp->nxt)
491 while (r = memchr(r, '\n', bp->end - r))
501 *bp->cur = 0;
503 else if (bp->nxt)
505 if (bp->restore >= 0)
506 *bp->cur = bp->restore;
507 r = bp->cur;
508 bp->restore = *bp->nxt;
509 *bp->nxt = 0;
510 if (bp->nxt >= bp->end)
512 bp->cur = bp->end = bp->buf;
513 bp->nxt = 0;
517 bp->cur = bp->nxt;
518 if (bp->nxt = memchr(bp->nxt + 1, '\n', bp->end - bp->nxt - 1))
519 bp->nxt++;
532 else if (bp->cur < bp->end)
534 if (bp->restore >= 0)
536 *bp->cur = bp->restore;
537 bp->restore = -1;
539 r = bp->cur;
540 *bp->end = 0;
541 bp->nxt = 0;
547 bp->cur = bp->end = bp->buf;
563 if (bp->cur < bp->end)
565 if (bp->restore >= 0)
567 *bp->cur = bp->restore;
568 bp->restore = -1;
570 r = bp->cur;
571 *bp->end = 0;
572 bp->cur = bp->end = bp->buf;
573 bp->nxt = 0;
586 if ((bp->max - bp->end) < n)
588 a = roundof(bp->max - bp->buf + n, SF_BUFSIZE);
589 r = bp->buf;
590 if (!(bp->buf = vmnewof(bp->vm, bp->buf, char, a, 0)))
595 bp->max = bp->buf + a;
596 if (bp->buf != r)
598 d = bp->buf - r;
599 bp->cur += d;
600 bp->end += d;
603 memcpy(bp->end, s, n);
604 bp->end += n;
605 if ((r = bp->cur) > bp->buf && bp->restore >= 0)
606 *r = bp->restore;
607 if (bp->cur = memchr(bp->cur, '\n', bp->end - bp->cur))
609 bp->restore = *++bp->cur;
610 *bp->cur = 0;
611 if (bp->cur >= bp->end)
613 bp->cur = bp->end = bp->buf;
614 bp->nxt = 0;
616 else if (bp->nxt = memchr(bp->cur + 1, '\n', bp->end - bp->cur - 1))
617 bp->nxt++;
623 bp->restore = -1;
624 bp->cur = r;
625 bp->nxt = 0;
632 if (bp->cursor)
634 r -= bp->cursor;
635 bp->cursor = 0;
682 bp->cursor = t - r;
683 if (bp->ignore && match(bp->ignore, r, 0))