git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@764837 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
Scott Wheeler 2008-01-22 17:33:48 +00:00
parent abb8173104
commit fdbfa6d6f6
3 changed files with 16 additions and 10 deletions

View File

@ -31,12 +31,14 @@
using namespace TagLib;
using namespace ID3v2;
class UrlLinkFrame::UrlLinkFramePrivate {
class UrlLinkFrame::UrlLinkFramePrivate
{
public:
String url;
};
class UserUrlLinkFrame::UserUrlLinkFramePrivate {
class UserUrlLinkFrame::UserUrlLinkFramePrivate
{
public:
UserUrlLinkFramePrivate() : textEncoding(String::Latin1) {}
String::Type textEncoding;
@ -138,7 +140,7 @@ void UserUrlLinkFrame::setDescription(const String &s)
void UserUrlLinkFrame::parseFields(const ByteVector &data)
{
if (data.size() < 2) {
if(data.size() < 2) {
debug("A user URL link frame must contain at least 2 bytes.");
return;
}
@ -148,16 +150,17 @@ void UserUrlLinkFrame::parseFields(const ByteVector &data)
d->textEncoding = String::Type(data[0]);
pos += 1;
if (d->textEncoding == String::Latin1 || d->textEncoding == String::UTF8) {
if(d->textEncoding == String::Latin1 || d->textEncoding == String::UTF8) {
int offset = data.find(textDelimiter(d->textEncoding), pos);
if (offset < pos)
if(offset < pos)
return;
d->description = String(data.mid(pos, offset - pos), d->textEncoding);
pos = offset + 1;
} else {
}
else {
int len = data.mid(pos).find(textDelimiter(d->textEncoding), 0, 2);
if (len < 0)
if(len < 0)
return;
d->description = String(data.mid(pos, len), d->textEncoding);

View File

@ -37,7 +37,8 @@ namespace TagLib {
/*!
* An implementation of ID3v2 URL link frames.
*/
class UrlLinkFrame : public Frame {
class UrlLinkFrame : public Frame
{
friend class FrameFactory;
public:
@ -91,7 +92,8 @@ namespace TagLib {
*
* This description identifies the frame and must be unique.
*/
class UserUrlLinkFrame : public UrlLinkFrame {
class UserUrlLinkFrame : public UrlLinkFrame
{
friend class FrameFactory;
public:

View File

@ -193,7 +193,8 @@ Frame *FrameFactory::createFrame(const ByteVector &origData, Header *tagHeader)
if(frameID.startsWith("W")) {
if(frameID != "WXXX") {
return new UrlLinkFrame(data, header);
} else {
}
else {
UserUrlLinkFrame *f = new UserUrlLinkFrame(data, header);
if(d->useDefaultEncoding)
f->setTextEncoding(d->defaultEncoding);