textsearch: ts_fsm: return error on request for case insensitive search
Joonwoo Park [Tue, 8 Jul 2008 09:38:27 +0000 (02:38 -0700)]
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>

lib/ts_fsm.c

index af575b6..5696a35 100644 (file)
@@ -257,7 +257,7 @@ found_match:
 }
 
 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;
        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)
                goto errout;
 
+       if (flags & TS_IGNORECASE)
+               goto errout;
+
        for (i = 0; i < ntokens; 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))
                return conf;
 
+       conf->flags = flags;
        fsm = ts_config_priv(conf);
        fsm->ntokens = ntokens;
        memcpy(fsm->tokens, pattern, len);