disallow multiple input FLAC files when --import-tags-from=- is used (SF#1082577 http://sourceforge.net/tracker/index.php?func=detail&aid=1082577&group_id=13478&atid=113478)

This commit is contained in:
Josh Coalson 2006-11-14 05:02:35 +00:00
parent 45f20fdce0
commit 16e953ffc6
3 changed files with 24 additions and 12 deletions

View File

@ -1201,7 +1201,7 @@
<span class="argument">--import-tags-from=FILE</span>
</td>
<td>
Import tags from a file. Use <span class="argument">-</span> for stdin. Each line should be of the form <span class="argument">NAME=VALUE</span>. Multi-line comments are currently not supported. Specify <span class="argument">--remove-all-tags</span> and/or <a href="#metaflac_options_no_utf8_convert"><span class="argument">--no-utf8-convert</span></a> before <span class="argument">--import-tags-from</span> if necessary.
Import tags from a file. Use <span class="argument">-</span> for stdin. Each line should be of the form <span class="argument">NAME=VALUE</span>. Multi-line comments are currently not supported. Specify <span class="argument">--remove-all-tags</span> and/or <a href="#metaflac_options_no_utf8_convert"><span class="argument">--no-utf8-convert</span></a> before <span class="argument">--import-tags-from</span> if necessary. If <span class="argument">FILE</span> is <span class="argument">-</span> (stdin), only one FLAC file may be specified.
</td>
</tr>
<tr>

View File

@ -265,7 +265,8 @@ manpage.1: manpage.sgml
Import tags from a file. Use '-' for stdin. Each
line should be of the form NAME=VALUE. Multi-line comments
are currently not supported. Specify --remove-all-tags and/or
--no-utf8-convert before --import-tags-from if necessary.
--no-utf8-convert before --import-tags-from if necessary. If
FILE is '-' (stdin), only one FLAC file may be specified.
</para>
</listitem>
</varlistentry>

View File

@ -202,17 +202,28 @@ FLAC__bool parse_options(int argc, char *argv[], CommandLineOptions *options)
}
}
/* check for only one FLAC file used with --import-cuesheet-from/--export-cuesheet-to */
if(
(
0 != find_shorthand_operation(options, OP__IMPORT_CUESHEET_FROM) ||
0 != find_shorthand_operation(options, OP__EXPORT_CUESHEET_TO) ||
0 != find_shorthand_operation(options, OP__EXPORT_PICTURE_TO)
) && options->num_files > 1
) {
fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-cuesheet-from', '--export-cuesheet-to' or '--export-picture-to'\n");
/* check for only one FLAC file used with certain options */
if(options->num_files > 1) {
if(0 != find_shorthand_operation(options, OP__IMPORT_CUESHEET_FROM)) {
fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-cuesheet-from'\n");
had_error = true;
}
if(0 != find_shorthand_operation(options, OP__EXPORT_CUESHEET_TO)) {
fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--export-cuesheet-to'\n");
had_error = true;
}
if(0 != find_shorthand_operation(options, OP__EXPORT_PICTURE_TO)) {
fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--export-picture-to'\n");
had_error = true;
}
if(
0 != find_shorthand_operation(options, OP__IMPORT_VC_FROM) &&
0 == strcmp(find_shorthand_operation(options, OP__IMPORT_VC_FROM)->argument.filename.value, "-")
) {
fprintf(stderr, "ERROR: you may only specify one FLAC file when using '--import-tags-from=-'\n");
had_error = true;
}
}
if(options->args.checks.has_block_type && options->args.checks.has_except_block_type) {
fprintf(stderr, "ERROR: you may not specify both '--block-type' and '--except-block-type'\n");