* mu-str.c: clean up a bit
This commit is contained in:
15
src/mu-str.c
15
src/mu-str.c
@ -368,23 +368,28 @@ mu_str_ascii_xapian_escape_in_place (char *query)
|
|||||||
|
|
||||||
for (cur = query; *cur; ++cur) {
|
for (cur = query; *cur; ++cur) {
|
||||||
*cur = tolower(*cur);
|
*cur = tolower(*cur);
|
||||||
|
|
||||||
if (*cur == '@' || *cur == '-')
|
switch (*cur) {
|
||||||
*cur = '_';
|
case '@':
|
||||||
else if (*cur == '.') {
|
case '-':
|
||||||
|
*cur = '_'; break;
|
||||||
|
case '.': {
|
||||||
/* don't replace a final cur */
|
/* don't replace a final cur */
|
||||||
if (cur[1]== ' ' || cur[1]=='\t' || cur[1] == '\0' ||
|
if (cur[1]== ' ' || cur[1]=='\t' || cur[1] == '\0' ||
|
||||||
cur[1]== '.')
|
cur[1]== '.')
|
||||||
++cur;
|
++cur;
|
||||||
else
|
else
|
||||||
*cur = '_';
|
*cur = '_';
|
||||||
} else if (*cur == ':') {
|
break;
|
||||||
|
}
|
||||||
|
case ':':
|
||||||
/* if there's a registered xapian prefix before the
|
/* if there's a registered xapian prefix before the
|
||||||
* ':', don't touch it. Otherwise replace ':' with
|
* ':', don't touch it. Otherwise replace ':' with
|
||||||
* a space'... ugh yuck ugly...
|
* a space'... ugh yuck ugly...
|
||||||
*/
|
*/
|
||||||
if (!is_xapian_prefix (query, cur))
|
if (!is_xapian_prefix (query, cur))
|
||||||
*cur = '_';
|
*cur = '_';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user