summaryrefslogtreecommitdiff
path: root/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'search.c')
-rw-r--r--search.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/search.c b/search.c
index fa87ffe..513dc32 100644
--- a/search.c
+++ b/search.c
@@ -41,8 +41,8 @@ extern struct display *display;
*/
static int matchword __P((char *, int, int, int));
-static void searchend __P((char *, int));
-static void backsearchend __P((char *, int));
+static void searchend __P((char *, int, char *));
+static void backsearchend __P((char *, int, char *));
void
Search(dir)
@@ -53,20 +53,22 @@ int dir;
{
markdata = (struct markdata *)D_lay->l_data;
if (markdata->isdir > 0)
- searchend((char *)0, 0);
+ searchend(0, 0, NULL);
else if (markdata->isdir < 0)
- backsearchend((char *)0, 0);
+ backsearchend(0, 0, NULL);
else
Msg(0, "No previous pattern");
}
else
- Input((dir > 0 ? "/" : "?"), sizeof(markdata->isstr)-1, (dir > 0 ? searchend : backsearchend), INP_COOKED);
+ Input((dir > 0 ? "/" : "?"), sizeof(markdata->isstr)-1, INP_COOKED,
+ (dir > 0 ? searchend : backsearchend), NULL);
}
static void
-searchend(buf, len)
+searchend(buf, len, data)
char *buf;
int len;
+char *data; /* dummy */
{
int x = 0, sx, ex, y;
struct markdata *markdata;
@@ -92,9 +94,10 @@ int len;
}
static void
-backsearchend(buf, len)
+backsearchend(buf, len, data)
char *buf;
int len;
+char *data; /* dummy */
{
int sx, ex, x = -1, y;
struct markdata *markdata;
@@ -157,7 +160,7 @@ static char *isprompts[] = {
static int is_redo __P((struct markdata *));
-static void is_process __P((char *, int));
+static void is_process __P((char *, int, char *));
static int is_bm __P((char *, int, int, int, int));
@@ -209,9 +212,10 @@ int l, p, end, dir;
/*ARGSUSED*/
static void
-is_process(p, n)
+is_process(p, n, data) /* i-search */
char *p;
int n;
+char *data; /* dummy */
{
int pos, x, y, dir;
struct markdata *markdata;
@@ -323,13 +327,15 @@ ISearch(dir)
int dir;
{
struct markdata *markdata;
+
markdata = (struct markdata *)D_lay->l_data;
markdata->isdir = markdata->isstartdir = dir;
markdata->isstartpos = markdata->cx + markdata->cy * D_width;
markdata->isistrl = markdata->isstrl = 0;
if (W2D(markdata->cy) == STATLINE)
revto_line(markdata->cx, markdata->cy, STATLINE > 0 ? STATLINE - 1 : 1);
- Input(isprompts[dir + 1], sizeof(markdata->isstr) - 1, is_process, INP_RAW);
+ Input(isprompts[dir + 1], sizeof(markdata->isstr) - 1, INP_RAW,
+ is_process, NULL);
GotoPos(markdata->cx, W2D(markdata->cy));
}