diff options
-rw-r--r-- | lib/ts_fsm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ts_fsm.c b/lib/ts_fsm.c index af575b61526b..5696a35184e4 100644 --- a/lib/ts_fsm.c +++ b/lib/ts_fsm.c | |||
@@ -257,7 +257,7 @@ found_match: | |||
257 | } | 257 | } |
258 | 258 | ||
259 | static struct ts_config *fsm_init(const void *pattern, unsigned int len, | 259 | static struct ts_config *fsm_init(const void *pattern, unsigned int len, |
260 | gfp_t gfp_mask) | 260 | gfp_t gfp_mask, int flags) |
261 | { | 261 | { |
262 | int i, err = -EINVAL; | 262 | int i, err = -EINVAL; |
263 | struct ts_config *conf; | 263 | struct ts_config *conf; |
@@ -269,6 +269,9 @@ static struct ts_config *fsm_init(const void *pattern, unsigned int len, | |||
269 | if (len % sizeof(struct ts_fsm_token) || ntokens < 1) | 269 | if (len % sizeof(struct ts_fsm_token) || ntokens < 1) |
270 | goto errout; | 270 | goto errout; |
271 | 271 | ||
272 | if (flags & TS_IGNORECASE) | ||
273 | goto errout; | ||
274 | |||
272 | for (i = 0; i < ntokens; i++) { | 275 | for (i = 0; i < ntokens; i++) { |
273 | struct ts_fsm_token *t = &tokens[i]; | 276 | struct ts_fsm_token *t = &tokens[i]; |
274 | 277 | ||
@@ -284,6 +287,7 @@ static struct ts_config *fsm_init(const void *pattern, unsigned int len, | |||
284 | if (IS_ERR(conf)) | 287 | if (IS_ERR(conf)) |
285 | return conf; | 288 | return conf; |
286 | 289 | ||
290 | conf->flags = flags; | ||
287 | fsm = ts_config_priv(conf); | 291 | fsm = ts_config_priv(conf); |
288 | fsm->ntokens = ntokens; | 292 | fsm->ntokens = ntokens; |
289 | memcpy(fsm->tokens, pattern, len); | 293 | memcpy(fsm->tokens, pattern, len); |