mirror of
https://github.com/taglib/taglib.git
synced 2025-08-06 22:34:29 -04:00
Fix upgrading of ID3v2.3 genre with number 0 (Blues)
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1114089 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This commit is contained in:
@ -412,10 +412,11 @@ void FrameFactory::updateGenre(TextIdentificationFrame *frame) const
|
||||
if(s.startsWith("(") && end > 0) {
|
||||
// "(12)Genre"
|
||||
String text = s.substr(end + 1);
|
||||
int number = s.substr(1, end - 1).toInt();
|
||||
if (number > 0 && number <= 255 && !(ID3v1::genre(number) == text))
|
||||
bool ok;
|
||||
int number = s.substr(1, end - 1).toInt(&ok);
|
||||
if(ok && number >= 0 && number <= 255 && !(ID3v1::genre(number) == text))
|
||||
newfields.append(s.substr(1, end - 1));
|
||||
if (!text.isEmpty())
|
||||
if(!text.isEmpty())
|
||||
newfields.append(text);
|
||||
}
|
||||
else {
|
||||
|
@ -164,19 +164,10 @@ String ID3v2::Tag::genre() const
|
||||
if((*it).isEmpty())
|
||||
continue;
|
||||
|
||||
bool isNumber = true;
|
||||
|
||||
for(String::ConstIterator charIt = (*it).begin();
|
||||
isNumber && charIt != (*it).end();
|
||||
++charIt)
|
||||
{
|
||||
isNumber = *charIt >= '0' && *charIt <= '9';
|
||||
}
|
||||
|
||||
if(isNumber) {
|
||||
int number = (*it).toInt();
|
||||
if(number >= 0 && number <= 255)
|
||||
*it = ID3v1::genre(number);
|
||||
bool ok;
|
||||
int number = (*it).toInt(&ok);
|
||||
if(ok && number >= 0 && number <= 255) {
|
||||
*it = ID3v1::genre(number);
|
||||
}
|
||||
|
||||
if(std::find(genres.begin(), genres.end(), *it) == genres.end())
|
||||
|
Reference in New Issue
Block a user