X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=filter_common.c;h=415824adb65f872a1815fb1f3a0af3dbd7efae6f;hp=461d88bb8d59bf4b4e075ee3383561b84a4b3ae6;hb=23b121a85984baa9252f4b4c0b8c4f186e394bb7;hpb=d16fe3df649cb48d5ffa26187da3dad4c3066646 diff --git a/filter_common.c b/filter_common.c index 461d88bb..415824ad 100644 --- a/filter_common.c +++ b/filter_common.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2011 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; }