version 1.12, 2003/05/20 03:08:55 |
version 1.13, 2004/07/22 01:25:25 |
|
|
int |
int |
re_queryrepl(int f, int n) |
re_queryrepl(int f, int n) |
{ |
{ |
int s; |
|
int rcnt = 0; /* replacements made so far */ |
int rcnt = 0; /* replacements made so far */ |
int plen; /* length of found string */ |
int plen, s; /* length of found string */ |
char news[NPAT]; /* replacement string */ |
char news[NPAT], *rep; /* replacement string */ |
|
|
/* Casefold check */ |
/* Casefold check */ |
if (!casefoldsearch) |
if (!casefoldsearch) |
|
|
|
|
if ((s = re_readpattern("RE Query replace")) != TRUE) |
if ((s = re_readpattern("RE Query replace")) != TRUE) |
return (s); |
return (s); |
if ((s = |
if ((rep = |
ereply("Query replace %s with: ", news, NPAT, re_pat)) == ABORT) |
ereply("Query replace %s with: ", news, NPAT, re_pat)) == NULL) |
return (s); |
return (ABORT); |
if (s == FALSE) |
|
news[0] = '\0'; |
|
ewprintf("Query replacing %s with %s:", re_pat, news); |
ewprintf("Query replacing %s with %s:", re_pat, news); |
|
|
/* |
/* |
|
|
static int |
static int |
re_readpattern(char *prompt) |
re_readpattern(char *prompt) |
{ |
{ |
int s, flags, error; |
|
char tpat[NPAT]; |
|
static int dofree = 0; |
static int dofree = 0; |
|
int flags, error, s; |
|
char tpat[NPAT], *rep; |
|
|
if (re_pat[0] == '\0') |
if (re_pat[0] == '\0') |
s = ereply("%s: ", tpat, NPAT, prompt); |
rep = ereply("%s: ", tpat, NPAT, prompt); |
else |
else |
s = ereply("%s: (default %s) ", tpat, NPAT, prompt, re_pat); |
rep = ereply("%s: (default %s) ", tpat, NPAT, prompt, re_pat); |
|
|
if (s == TRUE) { |
if (rep != NULL && *rep != '\0') { |
/* New pattern given */ |
/* New pattern given */ |
(void)strlcpy(re_pat, tpat, sizeof re_pat); |
(void)strlcpy(re_pat, tpat, sizeof re_pat); |
if (casefoldsearch) |
if (casefoldsearch) |
|
|
return (FALSE); |
return (FALSE); |
} |
} |
dofree = 1; |
dofree = 1; |
} else if (s == FALSE && re_pat[0] != '\0') |
s = TRUE; |
|
} else if (rep[0] == '\0' && re_pat[0] != '\0') |
/* Just using old pattern */ |
/* Just using old pattern */ |
s = TRUE; |
s = TRUE; |
|
else |
|
s = FALSE; |
return (s); |
return (s); |
} |
} |
|
|