X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=cmdutils.c;h=2c53d90daa3b451ff781fcd0d78d8172d9a16ba0;hb=ff8f6594290162965d2098a47807a515791a6522;hp=4fae966d170da6815f91567f4a8117e86617c150;hpb=fccfc4753386d3aacb067f5e4117ea4d266acf72;p=ffmpeg diff --git a/cmdutils.c b/cmdutils.c index 4fae966d170..2c53d90daa3 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -2,19 +2,21 @@ * Various utilities for command line tools * Copyright (c) 2000-2003 Fabrice Bellard * - * This library is free software; you can redistribute it and/or + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. + * version 2.1 of the License, or (at your option) any later version. * - * This library is distributed in the hope that it will be useful, + * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #define HAVE_AV_CONFIG_H #include "avformat.h" @@ -57,15 +59,19 @@ static const OptionDef* find_option(const OptionDef *po, const char *name){ void parse_options(int argc, char **argv, const OptionDef *options) { const char *opt, *arg; - int optindex; + int optindex, handleoptions=1; const OptionDef *po; /* parse options */ optindex = 1; while (optindex < argc) { opt = argv[optindex++]; - - if (opt[0] == '-' && opt[1] != '\0') { + + if (handleoptions && opt[0] == '-' && opt[1] != '\0') { + if (opt[1] == '-' && opt[2] == '\0') { + handleoptions = 0; + continue; + } po= find_option(options, opt + 1); if (!po->name) po= find_option(options, "default"); @@ -96,7 +102,7 @@ unknown_opt: if(po->u.func2_arg(opt+1, arg)<0) goto unknown_opt; } else { - po->u.func_arg(arg); + po->u.func_arg(arg); } } else { parse_arg_file(opt); @@ -111,7 +117,7 @@ void print_error(const char *filename, int err) fprintf(stderr, "%s: Incorrect image filename syntax.\n" "Use '%%d' to specify the image number:\n" " for img1.jpg, img2.jpg, ..., use 'img%%d.jpg';\n" - " for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'.\n", + " for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'.\n", filename); break; case AVERROR_INVALIDDATA: @@ -122,8 +128,8 @@ void print_error(const char *filename, int err) break; case AVERROR_IO: fprintf(stderr, "%s: I/O error occured\n" - "Usually that means that input file is truncated and/or corrupted.\n", - filename); + "Usually that means that input file is truncated and/or corrupted.\n", + filename); break; case AVERROR_NOMEM: fprintf(stderr, "%s: memory allocation error occured\n", filename);