diff options
Diffstat (limited to 'src/Authoring')
-rw-r--r-- | src/Authoring/QT3DSDM/QT3DSDM.pro | 1 | ||||
-rw-r--r-- | src/Authoring/QT3DSDM/Systems/Qt3DSDMXML.cpp | 70 |
2 files changed, 4 insertions, 67 deletions
diff --git a/src/Authoring/QT3DSDM/QT3DSDM.pro b/src/Authoring/QT3DSDM/QT3DSDM.pro index d0367220..11a63370 100644 --- a/src/Authoring/QT3DSDM/QT3DSDM.pro +++ b/src/Authoring/QT3DSDM/QT3DSDM.pro @@ -19,7 +19,6 @@ INCLUDEPATH += \ ../../Runtime/Source/datamodel \ ../../Runtime/Source/render \ ../../3rdparty/EASTL/UnknownVersion/include \ - ../../3rdparty/utf8cpp/2.3.2/source \ ../../3rdparty/color \ .. diff --git a/src/Authoring/QT3DSDM/Systems/Qt3DSDMXML.cpp b/src/Authoring/QT3DSDM/Systems/Qt3DSDMXML.cpp index 3d79ca33..2055adf1 100644 --- a/src/Authoring/QT3DSDM/Systems/Qt3DSDMXML.cpp +++ b/src/Authoring/QT3DSDM/Systems/Qt3DSDMXML.cpp @@ -36,7 +36,6 @@ #include <memory> #include "foundation/StrConvertUTF.h" #include "foundation/StringTable.h" -#include "utf8.h" #ifdef QT3DS_VC #include <winsock2.h> #include <windows.h> //output debug string @@ -871,45 +870,8 @@ struct SimpleXmlWriter Write(' '); Write(name); Write("=\""); - size_t valueLen = strlen(NonNull(value)); - TXMLCharPtr start = value; - TXMLCharPtr end = value + valueLen; - TXMLCharPtr last = start; - uint32_t item = 0; - // Write out the data escaping unicode values where necessary - // I am using utf8::internal because it returns an error code and does not through - // exceptions; we don't always know the system we are running on will support or handle - // exceptions gracefully. - for (utf8::internal::utf_error err_code = utf8::internal::validate_next(start, end, item); - last != end && err_code == utf8::internal::UTF8_OK; - err_code = utf8::internal::validate_next(start, end, item)) { - switch (item) { - case '\r': - break; - case '\n': - Write(" "); - break; - case '\t': - Write("	"); - break; - case '<': - Write("<"); - break; - case '>': - Write(">"); - break; - case '"': - Write("""); - break; - case '&': - Write("&"); - break; - default: - m_Stream.Write(NVConstDataRef<QT3DSU8>((const QT3DSU8 *)last, (QT3DSU32)(start - last))); - break; - } - last = start; - } + QString str = QString::fromUtf8(nonNull(value)).toHtmlEscaped(); + Write(str.toUtf8().constData()); Write("\""); } template <typename TData> @@ -922,32 +884,8 @@ struct SimpleXmlWriter { if (!IsTrivial(value)) { Close(false); - size_t valueLen = strlen(NonNull(value)); - TXMLCharPtr start = value; - TXMLCharPtr end = value + valueLen; - TXMLCharPtr last = start; - uint32_t item = 0; - // Write out the data escaping unicode values where necessary - for (utf8::internal::utf_error err_code = - utf8::internal::validate_next(start, end, item); - last != end && err_code == utf8::internal::UTF8_OK; - err_code = utf8::internal::validate_next(start, end, item)) { - switch (item) { - case '<': - Write("<"); - break; - case '>': - Write(">"); - break; - case '&': - Write("&"); - break; - default: - m_Stream.Write(NVConstDataRef<QT3DSU8>((const QT3DSU8 *)last, (QT3DSU32)(start - last))); - break; - } - last = start; - } + QString str = QString::fromUtf8(nonNull(value)).toHtmlEscaped(); + Write(str.toUtf8().constData()); m_OpenElements.back().second = true; } } |