El 07/05/12 17:02, Bastiaan Timmer escribió:
> Attached is a patch that adds 5 missing FLAC__metadata_object_vorbiscomment_* 
> functions to the VorbisComment class. In my previous message I stated 8 
> functions were missing, but on closer inspection, 3 of those belong in the 
> VorbisComment::Entry class, and 2 of them already have equivalent functions 
> in there. The last one (FLAC__metadata_object_vorbiscomment_entry_matches()) 
> does not, but I have not done that one (yet).
>
> Looking at the FLAC__metadata_object_cuesheet_* 
> FLAC__metadata_object_picture_* functions, it looks like the corresponding 
> FLAC++ classes are already complete. Maybe some functions are missing from 
> CueSheet::Track. If nobody objects, I will take a look later this week.
>
> Also, I've noticed that on my system, flac will not compile with 
> --enable-debug, because some functions that use 'PRId64' get compiled in, but 
> no included header defines 'PRId64'. I have not written a patch because I'm 
> not sure whether this is just my weird system (fairly standard Fedora 
> installation) or all gcc users or all *NIX users. However, should a fix be 
> necessary: PRId64 is defined in inttypes.h which can be included in line 43 
> of src/libFLAC/lpo.c (after the '#if defined DEBUG') to solve this on my 
> system.
>
> Lastly, the reason I tried to compile with debug was some invalid read sizes 
> reported by valgrind when creating a VorbisComment::Entry. The invalid read 
> is reported in set_field_name() at line 653 (src/libFLAC++/metadata.cpp), 
> where strlen() is used on the newly created char *field_name_. I could not 
> see anything wrong with the code though, and strangely enough just calling 
> printf on the field_name_ 1 line before the strlen() removes all valgrind 
> errors. So I'm not sure what's going on, but it's probably a bug in valgrind, 
> maybe somebody on this list knows?
>

While you are at it, can you check/fix the following warning ?

metadata.cpp:812:98: warning: narrowing conversion of 'strlen(((const 
char*)string))' from 'size_t {aka long unsigned int}' to 'FLAC__uint32 
{aka unsigned int}' inside { } is ill-formed in C++11 [-Wnarrowing]


Thanks !

_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to