BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt()
parse_cache_flt() is the registered callback for the "cache" filter keyword. It
is only called when the "cache" keyword is found on a filter line. So, it is
useless to test the filter name in the callback function.
This patch should fix the issue #634. It may be backported as far as 1.9.
diff --git a/src/cache.c b/src/cache.c
index 3b248ef..ed50b29 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -1411,19 +1411,17 @@
char *name = NULL;
int pos = *cur_arg;
- /* Get the cache filter name*/
- if (!strcmp(args[pos], "cache")) {
- if (!*args[pos + 1]) {
- memprintf(err, "%s : expects an <id> argument", args[pos]);
- goto error;
- }
- name = strdup(args[pos + 1]);
- if (!name) {
- memprintf(err, "%s '%s' : out of memory", args[pos], args[pos + 1]);
- goto error;
- }
- pos += 2;
+ /* Get the cache filter name. <pos> point on "cache" keyword */
+ if (!*args[pos + 1]) {
+ memprintf(err, "%s : expects an <id> argument", args[pos]);
+ goto error;
+ }
+ name = strdup(args[pos + 1]);
+ if (!name) {
+ memprintf(err, "%s '%s' : out of memory", args[pos], args[pos + 1]);
+ goto error;
}
+ pos += 2;
/* Check if an implicit filter with the same name already exists. If so,
* we remove the implicit filter to use the explicit one. */