X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=filter_common.c;h=415824adb65f872a1815fb1f3a0af3dbd7efae6f;hp=ffb2199b60e75836c345f09ef8cac1b1202d1956;hb=23b121a85984baa9252f4b4c0b8c4f186e394bb7;hpb=9de1287d67c9562e9140c6dc7deb0c01c4e10cc0 diff --git a/filter_common.c b/filter_common.c index ffb2199b..415824ad 100644 --- a/filter_common.c +++ b/filter_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2012 Andre Noll + * Copyright (C) 2005-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -41,25 +41,16 @@ void filter_init(void) static int parse_filter_args(int filter_num, char *options, void **conf) { struct filter *f = &filters[filter_num]; - int ret, i, argc = 2; + int ret, argc; char **argv; -// PARA_DEBUG_LOG("%s, options: %s, parser: %p\n", f->name, -// options? options : "(none)", f->parse_config); if (!f->parse_config) return strlen(options)? -E_BAD_FILTER_OPTIONS : filter_num; -// PARA_DEBUG_LOG("options: %s\n", options); - argc = create_argv(options, " \t", &argv); + argc = create_shifted_argv(options, " \t", &argv); if (argc < 0) return -E_BAD_FILTER_OPTIONS; - PARA_DEBUG_LOG("argc = %d, argv[0]: %s\n", argc, argv[0]); - for (i = argc - 1; i >= 0; i--) - argv[i + 1] = argv[i]; argv[0] = para_strdup(f->name); - argc++; ret = f->parse_config(argc, argv, conf); - free(argv[argc - 1]); - argv[argc - 1] = NULL; free_argv(argv); return ret < 0? ret : filter_num; }