Lukáš, thanks so much for the fix. I didn't expect it to be a TagLib bug =)<div><br></div><div>Ibrahim<br><br><div class="gmail_quote">2012/2/2 Lukáš Lalinský <span dir="ltr"><<a href="mailto:lalinsky@gmail.com">lalinsky@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is not a TagLib bug, but a problem in your program. The result of<br>
QFile::encodeName is a QByteVector, but you are not storing it<br>
anywhere in the original form, you are just casting it to const char *<br>
and then forgetting the QByteVector, which is immediately destroyed.<br>
You are just lucky that it sometimes works, because the filePathCh<br>
points to unallocated memory.<br>
<br>
Lukas<br>
<div><div class="h5"><br>
On Wed, Feb 1, 2012 at 7:46 PM, Ibrahim Sha'ath <<a href="mailto:ibrahimshaath@gmail.com">ibrahimshaath@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> In reading some mp3 files (in particular one with Japanese characters in the<br>
> filename), the following (Qt) code returns inconsistent results.<br>
><br>
> (filePath is a QString passed by const ref, f is a Taglib::File*)<br>
><br>
> QString fileExt = filePath.right(filePath.length() -<br>
> filePath.lastIndexOf(".") - 1).toLower();<br>
><br>
> const char* filePathCh = QFile::encodeName(filePath);<br>
><br>
> f = NULL;<br>
><br>
> if(fileExt == "mp3"){<br>
><br>
>   std::cerr << filePathCh << std::endl;<br>
><br>
>   f = new TagLib::MPEG::File(filePathCh,false);<br>
><br>
>   std::cerr << filePathCh << std::endl;<br>
><br>
> }<br>
><br>
><br>
> Sometimes, when passed the path of a file, this code works fine, returning a<br>
> valid File object whose tags I can read and write; in these cases the two<br>
> prints to cerr are correct (showing the whole file path) and<br>
> identical. Other times, f is returned invalid, and while the first print to<br>
> cerr is correct, the second is either blank or incomplete (usually with the<br>
> beginning truncated). I cannot determine what causes the divergent<br>
> behaviour.<br>
><br>
> This is all using TagLib 1.7 and Qt 4.7.4, on Mac OS 10.7.2. Does anyone<br>
> have any idea what might be causing this, or have you seen anything similar?<br>
> Any help appreciated.<br>
><br>
> Best regards<br>
> Ibrahim<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> taglib-devel mailing list<br>
> <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
> <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
><br>
_______________________________________________<br>
taglib-devel mailing list<br>
<a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
</blockquote></div><br></div>