[Flac] metaflac --no-utf8-convert complains about UTF

Jan Stary hans at stare.cz
Sat Dec 6 00:54:55 PST 2014


On Dec 05 20:16:47, hans at stare.cz wrote:
> This is 1.3.1 on OpenBSD/amd64.
> The --no-utf8-convert option of metaflac(1) does not work for me:
> 
> $ metaflac --no-utf8-convert --set-tag="Artist=Žoužlíček" aladin.flac
> aladin.flac: ERROR: tag value for 'Artist' is not valid UTF-8
> (You probably can't see the Czech letters properly in my mail,
> but that's beside the point.)
> 
> Indeed, it is not valid UTF8 (it's LATIN2), but isn't metaflac
> supposed to just write it as specified, with this option?

The problem seems to be in
src/metaflac/operations_shorthand_vorbiscomment.c
in the set_vc_field() function.

It does check whether utf conversion is required,

  /* move 'data' into 'converted', converting to UTF-8 if necessary */
  if(raw) {
	converted = data;
  }
					                  }
but later checks that FLAC__format_vorbiscomment_entry_is_legal()
whether or not we are utf converting; and this function, defined
in ./src/libFLAC/format.c, ultimately calls for utf8len_(s) no matter what.
So my LATIN2 text fails to be legal, because it's not legal UTF
-- which, indeed, it isn't.

	Jan



More information about the Flac mailing list