summaryrefslogtreecommitdiffstats
path: root/src/libs/7zip/win/CPP/Common/StringToInt.cpp
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-04-06 13:33:38 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2022-04-13 11:32:09 +0300
commit96ade47c182bf37a2efca2aa62922e54e5ff1660 (patch)
tree93ceee6c6f8984f563f3dfe83e56f98b66b40f3a /src/libs/7zip/win/CPP/Common/StringToInt.cpp
parent2d5f0ffaf1278516bbd74e3b60f9849f4c51cffa (diff)
Move LZMA SDK to 3rdparty subdirectory
Also add attribution document. Task-number: QTIFW-2336 Change-Id: I91546bc6c3ace244e4b546b945f40b7d204f7463 Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/libs/7zip/win/CPP/Common/StringToInt.cpp')
-rw-r--r--src/libs/7zip/win/CPP/Common/StringToInt.cpp144
1 files changed, 0 insertions, 144 deletions
diff --git a/src/libs/7zip/win/CPP/Common/StringToInt.cpp b/src/libs/7zip/win/CPP/Common/StringToInt.cpp
deleted file mode 100644
index 2023fcc2c..000000000
--- a/src/libs/7zip/win/CPP/Common/StringToInt.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// Common/StringToInt.cpp
-
-#include "StdAfx.h"
-
-#include "StringToInt.h"
-
-static const UInt32 k_UInt32_max = 0xFFFFFFFF;
-static const UInt64 k_UInt64_max = UINT64_CONST(0xFFFFFFFFFFFFFFFF);
-// static const UInt64 k_UInt64_max = (UInt64)(Int64)-1;
-
-#define CONVERT_STRING_TO_UINT_FUNC(uintType, charType) \
- uintType ConvertStringTo ## uintType(const charType *s, const charType **end) throw() { \
- if (end) *end = s; \
- uintType res = 0; \
- for (;; s++) { \
- charType c = *s; \
- if (c < '0' || c > '9') { if (end) *end = s; return res; } \
- if (res > (k_ ## uintType ## _max) / 10) return 0; \
- res *= 10; \
- unsigned v = (c - '0'); \
- if (res > (k_ ## uintType ## _max) - v) return 0; \
- res += v; }}
-
-CONVERT_STRING_TO_UINT_FUNC(UInt32, char)
-CONVERT_STRING_TO_UINT_FUNC(UInt32, wchar_t)
-CONVERT_STRING_TO_UINT_FUNC(UInt64, char)
-CONVERT_STRING_TO_UINT_FUNC(UInt64, wchar_t)
-
-Int32 ConvertStringToInt32(const wchar_t *s, const wchar_t **end) throw()
-{
- if (end)
- *end = s;
- const wchar_t *s2 = s;
- if (*s == '-')
- s2++;
- if (*s2 == 0)
- return 0;
- const wchar_t *end2;
- UInt32 res = ConvertStringToUInt32(s2, &end2);
- if (*s == '-')
- {
- if (res > ((UInt32)1 << (32 - 1)))
- return 0;
- }
- else if ((res & ((UInt32)1 << (32 - 1))) != 0)
- return 0;
- if (end)
- *end = end2;
- if (*s == '-')
- return -(Int32)res;
- return (Int32)res;
-}
-
-UInt32 ConvertOctStringToUInt32(const char *s, const char **end) throw()
-{
- if (end)
- *end = s;
- UInt32 res = 0;
- for (;; s++)
- {
- char c = *s;
- if (c < '0' || c > '7')
- {
- if (end)
- *end = s;
- return res;
- }
- if ((res & (UInt32)7 << (32 - 3)) != 0)
- return 0;
- res <<= 3;
- res |= (unsigned)(c - '0');
- }
-}
-
-UInt64 ConvertOctStringToUInt64(const char *s, const char **end) throw()
-{
- if (end)
- *end = s;
- UInt64 res = 0;
- for (;; s++)
- {
- char c = *s;
- if (c < '0' || c > '7')
- {
- if (end)
- *end = s;
- return res;
- }
- if ((res & (UInt64)7 << (64 - 3)) != 0)
- return 0;
- res <<= 3;
- res |= (unsigned)(c - '0');
- }
-}
-
-UInt32 ConvertHexStringToUInt32(const char *s, const char **end) throw()
-{
- if (end)
- *end = s;
- UInt32 res = 0;
- for (;; s++)
- {
- char c = *s;
- unsigned v;
- if (c >= '0' && c <= '9') v = (c - '0');
- else if (c >= 'A' && c <= 'F') v = 10 + (c - 'A');
- else if (c >= 'a' && c <= 'f') v = 10 + (c - 'a');
- else
- {
- if (end)
- *end = s;
- return res;
- }
- if ((res & (UInt32)0xF << (32 - 4)) != 0)
- return 0;
- res <<= 4;
- res |= v;
- }
-}
-
-UInt64 ConvertHexStringToUInt64(const char *s, const char **end) throw()
-{
- if (end)
- *end = s;
- UInt64 res = 0;
- for (;; s++)
- {
- char c = *s;
- unsigned v;
- if (c >= '0' && c <= '9') v = (c - '0');
- else if (c >= 'A' && c <= 'F') v = 10 + (c - 'A');
- else if (c >= 'a' && c <= 'f') v = 10 + (c - 'a');
- else
- {
- if (end)
- *end = s;
- return res;
- }
- if ((res & (UInt64)0xF << (64 - 4)) != 0)
- return 0;
- res <<= 4;
- res |= v;
- }
-}