From f2902217b38cf2e16e851ae84d61247f8e828180 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Mon, 25 Mar 2019 17:53:14 +0100 Subject: Update the 7z installer stub source to 18.05. Tag #1022 --- other-licenses/7zstub/src/Common/TextConfig.cpp | 137 ------------------------ 1 file changed, 137 deletions(-) delete mode 100644 other-licenses/7zstub/src/Common/TextConfig.cpp (limited to 'other-licenses/7zstub/src/Common/TextConfig.cpp') diff --git a/other-licenses/7zstub/src/Common/TextConfig.cpp b/other-licenses/7zstub/src/Common/TextConfig.cpp deleted file mode 100644 index 0e19b5eee..000000000 --- a/other-licenses/7zstub/src/Common/TextConfig.cpp +++ /dev/null @@ -1,137 +0,0 @@ -// Common/TextConfig.cpp - -#include "StdAfx.h" - -#include "Common/TextConfig.h" - -#include "Defs.h" -#include "Common/UTFConvert.h" - -static bool IsDelimitChar(char c) -{ - return (c == ' ' || c == 0x0A || c == 0x0D || - c == '\0' || c == '\t'); -} - -static AString GetIDString(const char *string, int &finishPos) -{ - AString result; - for (finishPos = 0; true; finishPos++) - { - char c = string[finishPos]; - if (IsDelimitChar(c) || c == '=') - return result; - result += c; - } -} - -static bool WaitNextLine(const AString &string, int &pos) -{ - for (;pos < string.Length(); pos++) - if (string[pos] == 0x0A) - return true; - return false; -} - -static bool SkipSpaces(const AString &string, int &pos) -{ - for (;pos < string.Length(); pos++) - { - char c = string[pos]; - if (!IsDelimitChar(c)) - { - if (c != ';') - return true; - if (!WaitNextLine(string, pos)) - return false; - } - } - return false; -} - -bool GetTextConfig(const AString &string, CObjectVector &pairs) -{ - pairs.Clear(); - int pos = 0; - - ///////////////////// - // read strings - - while (true) - { - if (!SkipSpaces(string, pos)) - break; - CTextConfigPair pair; - int finishPos; - AString temp = GetIDString(((const char *)string) + pos, finishPos); - if (!ConvertUTF8ToUnicode(temp, pair.ID)) - return false; - if (finishPos == 0) - return false; - pos += finishPos; - if (!SkipSpaces(string, pos)) - return false; - if (string[pos] != '=') - return false; - pos++; - if (!SkipSpaces(string, pos)) - return false; - if (string[pos] != '\"') - return false; - pos++; - AString message; - while(true) - { - if (pos >= string.Length()) - return false; - char c = string[pos++]; - if (c == '\"') - break; - if (c == '\\') - { - char c = string[pos++]; - switch(c) - { - case 'n': - message += '\n'; - break; - case 't': - message += '\t'; - break; - case '\\': - message += '\\'; - break; - case '\"': - message += '\"'; - break; - default: - message += '\\'; - message += c; - break; - } - } - else - message += c; - } - if (!ConvertUTF8ToUnicode(message, pair.String)) - return false; - pairs.Add(pair); - } - return true; -} - -int FindTextConfigItem(const CObjectVector &pairs, const UString &id) -{ - for (int i = 0; i < pairs.Size(); i++) - if (pairs[i].ID.Compare(id) == 0) - return i; - return -1; -} - -UString GetTextConfigValue(const CObjectVector &pairs, const UString &id) -{ - int index = FindTextConfigItem(pairs, id); - if (index < 0) - return UString(); - return pairs[index].String; -} -- cgit v1.2.3