void ASF::File::BaseObject::parse(ASF::File *file, unsigned int size)
{
- data = file->readBlock(size - 24);
+ data.clear();
+ if (size > 24 && size <= file->length())
+ data = file->readBlock(size - 24);
+ else
+ data = ByteVector::null;
}
ByteVector ASF::File::BaseObject::render(ASF::File * /*file*/)
* \warning This pointer will become invalid when this FileRef and all
* copies pass out of scope.
*
+ * \warning Do not cast it to any subclasses of \class Tag.
+ * Use tag returning methods of appropriate subclasses of \class File instead.
+ *
* \see File::tag()
*/
Tag *tag() const;
* \relates TagLib::String
*
* Converts a QString to a TagLib::String without a requirement to link to Qt.
+ *
+ * \note consider conversion via usual char-by-char for loop to avoid UTF16->UTF8->UTF16
+ * conversion happening in the background
*/
#define QStringToTString(s) TagLib::String(s.utf8().data(), TagLib::String::UTF8)
* \relates TagLib::String
*
* Converts a TagLib::String to a QString without a requirement to link to Qt.
+ *
+ * \note consider conversion via usual char-by-char for loop to avoid UTF16->UTF8->UTF16
+ * conversion happening in the background
+ *
*/
#define TStringToQString(s) QString::fromUtf8(s.toCString(true))