diff options
Diffstat (limited to 'lib/ts_fsm.c')
| -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); |
