diff --git a/taglib/ape/apetag.cpp b/taglib/ape/apetag.cpp index 92ad536f..79e1d5cc 100644 --- a/taglib/ape/apetag.cpp +++ b/taglib/ape/apetag.cpp @@ -62,8 +62,9 @@ namespace return false; } + const String upperKey = String(key).upper(); for(size_t i = 0; invalidKeys[i] != 0; ++i) { - if(String(key).upper() == invalidKeys[i]) + if(upperKey == invalidKeys[i]) return false; } diff --git a/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp b/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp index 87317d32..eafae171 100644 --- a/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp +++ b/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp @@ -118,7 +118,7 @@ PropertyMap UnsynchronizedLyricsFrame::asProperties() const { PropertyMap map; String key = description().upper(); - if(key.isEmpty() || key.upper() == "LYRICS") + if(key.isEmpty() || key == "LYRICS") map.insert("LYRICS", text()); else map.insert("LYRICS:" + key, text()); diff --git a/taglib/mpeg/id3v2/frames/urllinkframe.cpp b/taglib/mpeg/id3v2/frames/urllinkframe.cpp index 99e4fb7f..543b5184 100644 --- a/taglib/mpeg/id3v2/frames/urllinkframe.cpp +++ b/taglib/mpeg/id3v2/frames/urllinkframe.cpp @@ -170,7 +170,7 @@ PropertyMap UserUrlLinkFrame::asProperties() const { PropertyMap map; String key = description().upper(); - if(key.isEmpty() || key.upper() == "URL") + if(key.isEmpty() || key == "URL") map.insert("URL", url()); else map.insert("URL:" + key, url()); diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp index bee4fb7e..863bbf59 100644 --- a/taglib/toolkit/tstring.cpp +++ b/taglib/toolkit/tstring.cpp @@ -469,12 +469,11 @@ String & String::clear() String String::upper() const { String s; - - static int shift = 'A' - 'a'; + s.d->data.reserve(size()); for(ConstIterator it = begin(); it != end(); ++it) { if(*it >= 'a' && *it <= 'z') - s.d->data.push_back(*it + shift); + s.d->data.push_back(*it + 'A' - 'a'); else s.d->data.push_back(*it); }