{
using namespace TagLib;
+ inline String::Type wcharByteOrder()
+ {
+ if(Utils::systemByteOrder() == Utils::LittleEndian)
+ return String::UTF16LE;
+ else
+ return String::UTF16BE;
+ }
+
inline size_t UTF16toUTF8(
const wchar_t *src, size_t srcLength, char *dst, size_t dstLength)
{
// This looks ugly but needed for the compatibility with TagLib1.8.
// Should be removed in TabLib2.0.
if (t == UTF16BE)
- t = WCharByteOrder;
+ t = wcharByteOrder();
else if (t == UTF16LE)
- t = (WCharByteOrder == UTF16LE ? UTF16BE : UTF16LE);
+ t = (wcharByteOrder() == UTF16LE ? UTF16BE : UTF16LE);
copyFromUTF16(s.c_str(), s.length(), t);
}
// This looks ugly but needed for the compatibility with TagLib1.8.
// Should be removed in TabLib2.0.
if (t == UTF16BE)
- t = WCharByteOrder;
+ t = wcharByteOrder();
else if (t == UTF16LE)
- t = (WCharByteOrder == UTF16LE ? UTF16BE : UTF16LE);
+ t = (wcharByteOrder() == UTF16LE ? UTF16BE : UTF16LE);
copyFromUTF16(s, ::wcslen(s), t);
}
length--;
}
else
- swap = (t != WCharByteOrder);
+ swap = (t != wcharByteOrder());
d->data.resize(length);
if(length > 0) {
length -= 2;
}
else
- swap = (t != WCharByteOrder);
+ swap = (t != wcharByteOrder());
d->data.resize(length / 2);
for(size_t i = 0; i < length / 2; ++i) {
}
}
-const String::Type String::WCharByteOrder
- = (Utils::systemByteOrder() == Utils::BigEndian) ? String::UTF16BE : String::UTF16LE;
-
}
////////////////////////////////////////////////////////////////////////////////
*/
void copyFromUTF16(const char *s, size_t length, Type t);
- /*!
- * Indicates which byte order of UTF-16 is used to store strings internally.
- *
- * \note \e String::UTF16BE or \e String::UTF16LE
- */
- static const Type WCharByteOrder;
-
class StringPrivate;
StringPrivate *d;
};