/*ARGSUSED*/ backsearch(f, n) { register int s; if ((s=readpattern("Search backward")) != TRUE) return (s); if (backsrch() == FALSE) { ewprintf("Search failed: \"%s\"", pat); return FALSE; } srch_lastdir = SRCH_BACK; return TRUE; }
/* ARGSUSED */ int backsearch(int f, int n) { int s; if ((s = readpattern("Search backward")) != TRUE) return (s); if (backsrch() == FALSE) { ewprintf("Search failed: \"%s\"", pat); return (FALSE); } srch_lastdir = SRCH_BACK; return (TRUE); }
/*ARGSUSED*/ searchagain(f, n) { if (srch_lastdir == SRCH_FORW) { if (forwsrch() == FALSE) { ewprintf("Search failed: \"%s\"", pat); return FALSE; } return TRUE; } if (srch_lastdir == SRCH_BACK) { if (backsrch() == FALSE) { ewprintf("Search failed: \"%s\"", pat); return FALSE; } return TRUE; } ewprintf("No last search"); return FALSE; }
/* ARGSUSED */ int searchagain(int f, int n) { if (srch_lastdir == SRCH_FORW) { if (forwsrch() == FALSE) { dobeep(); ewprintf("Search failed: \"%s\"", pat); return (FALSE); } return (TRUE); } if (srch_lastdir == SRCH_BACK) { if (backsrch() == FALSE) { dobeep(); ewprintf("Search failed: \"%s\"", pat); return (FALSE); } return (TRUE); } dobeep(); ewprintf("No last search"); return (FALSE); }
static int is_find(int dir) { int plen, odoto, odotline; struct line *odotp; odoto = curwp->w_doto; odotp = curwp->w_dotp; odotline = curwp->w_dotline; plen = strlen(pat); if (plen != 0) { if (dir == SRCH_FORW) { (void)backchar(FFARG | FFRAND, plen); if (forwsrch() == FALSE) { curwp->w_doto = odoto; curwp->w_dotp = odotp; curwp->w_dotline = odotline; return (FALSE); } return (TRUE); } if (dir == SRCH_BACK) { (void)forwchar(FFARG | FFRAND, plen); if (backsrch() == FALSE) { curwp->w_doto = odoto; curwp->w_dotp = odotp; curwp->w_dotline = odotline; return (FALSE); } return (TRUE); } dobeep(); ewprintf("bad call to is_find"); return (FALSE); } return (FALSE); }