From 794e64bb292b6fae115a5678a6fad5956b2f55ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 8 Jan 2016 11:16:38 +0100 Subject: [PATCH] Platforms files: Added unix32-unsigned and unix64-unsigned. Not sure what extension to use for platform files, chose .xml now. --- lib/settings.cpp | 20 +++++++++++++------- platforms/unix32-unsigned.xml | 17 +++++++++++++++++ platforms/unix64-unsigned.xml | 17 +++++++++++++++++ 3 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 platforms/unix32-unsigned.xml create mode 100644 platforms/unix64-unsigned.xml diff --git a/lib/settings.cpp b/lib/settings.cpp index ef358b579..1e021d8cb 100644 --- a/lib/settings.cpp +++ b/lib/settings.cpp @@ -284,7 +284,7 @@ bool Settings::platformFile(const std::string &filename) return false; for (const tinyxml2::XMLElement *node = rootnode->FirstChildElement(); node; node = node->NextSiblingElement()) { - if (std::strcmp(node->Name(), "defaultSign") == 0) + if (std::strcmp(node->Name(), "default-sign") == 0) defaultSign = *node->GetText(); else if (std::strcmp(node->Name(), "char_bit") == 0) char_bit = std::atoi(node->GetText()); @@ -292,18 +292,24 @@ bool Settings::platformFile(const std::string &filename) for (const tinyxml2::XMLElement *sz = node->FirstChildElement(); sz; sz = sz->NextSiblingElement()) { if (std::strcmp(node->Name(), "short") == 0) sizeof_short = std::atoi(node->GetText()); - if (std::strcmp(node->Name(), "int") == 0) + else if (std::strcmp(node->Name(), "int") == 0) sizeof_int = std::atoi(node->GetText()); - if (std::strcmp(node->Name(), "long") == 0) + else if (std::strcmp(node->Name(), "long") == 0) sizeof_long = std::atoi(node->GetText()); - if (std::strcmp(node->Name(), "long-long") == 0) + else if (std::strcmp(node->Name(), "long-long") == 0) sizeof_long_long = std::atoi(node->GetText()); - if (std::strcmp(node->Name(), "float") == 0) + else if (std::strcmp(node->Name(), "float") == 0) sizeof_float = std::atoi(node->GetText()); - if (std::strcmp(node->Name(), "double") == 0) + else if (std::strcmp(node->Name(), "double") == 0) sizeof_double = std::atoi(node->GetText()); - if (std::strcmp(node->Name(), "pointer") == 0) + else if (std::strcmp(node->Name(), "long-double") == 0) + sizeof_long_double = std::atoi(node->GetText()); + else if (std::strcmp(node->Name(), "pointer") == 0) sizeof_pointer = std::atoi(node->GetText()); + else if (std::strcmp(node->Name(), "size_t") == 0) + sizeof_size_t = std::atoi(node->GetText()); + else if (std::strcmp(node->Name(), "wchar_t") == 0) + sizeof_wchar_t = std::atoi(node->GetText()); } } } diff --git a/platforms/unix32-unsigned.xml b/platforms/unix32-unsigned.xml new file mode 100644 index 000000000..0d2a70f0e --- /dev/null +++ b/platforms/unix32-unsigned.xml @@ -0,0 +1,17 @@ + + + 8 + u + + 2 + 4 + 4 + 8 + 4 + 8 + 12 + 4 + 4 + 2 + + diff --git a/platforms/unix64-unsigned.xml b/platforms/unix64-unsigned.xml new file mode 100644 index 000000000..9c25c8a7d --- /dev/null +++ b/platforms/unix64-unsigned.xml @@ -0,0 +1,17 @@ + + + 8 + u + + 2 + 4 + 8 + 8 + 4 + 8 + 16 + 8 + 8 + 4 + +