summaryrefslogtreecommitdiffstats
path: root/src/Authoring/QT3DSDM/Systems
diff options
context:
space:
mode:
authorPasi Keränen <pasi.keranen@qt.io>2019-05-29 13:19:24 +0300
committerPasi Keränen <pasi.keranen@qt.io>2019-05-29 13:35:39 +0300
commita9e4c6fd641d3fecaecb202f03ad2c223d8f4c2b (patch)
tree0bf84161397a6e77ede377e5373c4f7ba0370fd3 /src/Authoring/QT3DSDM/Systems
parent5019bcbb8a89fa1b8977ba8da1a78b62b0e68fe5 (diff)
Remove utf8cpp 3rd party lib from Qt 3D Studio
Replace with XML encoding from QString. Task-number: QT3DS-13 Change-Id: Ie58b5128296dd5e166189324f1641755d15e8ef4 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Authoring/QT3DSDM/Systems')
-rw-r--r--src/Authoring/QT3DSDM/Systems/Qt3DSDMXML.cpp70
1 files changed, 4 insertions, 66 deletions
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("&#10;");
- break;
- case '\t':
- Write("&#09;");
- break;
- case '<':
- Write("&lt;");
- break;
- case '>':
- Write("&gt;");
- break;
- case '"':
- Write("&quot;");
- break;
- case '&':
- Write("&amp;");
- 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("&lt;");
- break;
- case '>':
- Write("&gt;");
- break;
- case '&':
- Write("&amp;");
- 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;
}
}