textsearch: ts_fsm: return error on request for case insensitive search

For fsm text search, handle case insensitive parameter as -EINVAL.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Joonwoo Park 2008-07-08 02:38:27 -07:00 committed by David S. Miller
parent 2523c3fc2b
commit 43138833ee

View file

@ -257,7 +257,7 @@ found_match:
} }
static struct ts_config *fsm_init(const void *pattern, unsigned int len, static struct ts_config *fsm_init(const void *pattern, unsigned int len,
gfp_t gfp_mask) gfp_t gfp_mask, int flags)
{ {
int i, err = -EINVAL; int i, err = -EINVAL;
struct ts_config *conf; struct ts_config *conf;
@ -269,6 +269,9 @@ static struct ts_config *fsm_init(const void *pattern, unsigned int len,
if (len % sizeof(struct ts_fsm_token) || ntokens < 1) if (len % sizeof(struct ts_fsm_token) || ntokens < 1)
goto errout; goto errout;
if (flags & TS_IGNORECASE)
goto errout;
for (i = 0; i < ntokens; i++) { for (i = 0; i < ntokens; i++) {
struct ts_fsm_token *t = &tokens[i]; struct ts_fsm_token *t = &tokens[i];
@ -284,6 +287,7 @@ static struct ts_config *fsm_init(const void *pattern, unsigned int len,
if (IS_ERR(conf)) if (IS_ERR(conf))
return conf; return conf;
conf->flags = flags;
fsm = ts_config_priv(conf); fsm = ts_config_priv(conf);
fsm->ntokens = ntokens; fsm->ntokens = ntokens;
memcpy(fsm->tokens, pattern, len); memcpy(fsm->tokens, pattern, len);