if (!f->parse_config)
return strlen(options)? -E_BAD_FILTER_OPTIONS : filter_num;
// PARA_DEBUG_LOG("options: %s\n", options);
- argc = split_args(options, &argv, ' ');
+ argc = split_args(options, &argv, " \t");
// PARA_DEBUG_LOG("argc = %d, argv[0]: %s\n", argc, argv[0]);
- for (i = argc; i >= 0; i--)
+ for (i = argc - 1; i >= 0; i--)
argv[i + 1] = argv[i];
- argc += 2;
+ argv[0] = para_strdup(f->name);
+ argc += 1;
*conf = f->parse_config(argc, argv);
return *conf? filter_num : -E_BAD_FILTER_OPTIONS;
}