diff --git a/Library/Measure.cpp b/Library/Measure.cpp index f2a64845..55408a52 100644 --- a/Library/Measure.cpp +++ b/Library/Measure.cpp @@ -153,6 +153,13 @@ void CMeasure::ReadConfig(CConfigParser& parser, const WCHAR* section) std::wstring subs; subs = parser.ReadString(section, L"Substitute", L""); + if (!subs.empty() && + (subs[0] != L'\"' || subs[subs.length() - 1] != L'\'') && + (subs[0] != L'\'' || subs[subs.length() - 1] != L'\"')) + { + // Add quotes since they are removed by the GetProfileString + subs = L"\"" + subs + L"\""; + } if (!ParseSubstitute(subs)) { DebugLog(L"Incorrect substitute string: %s", subs.c_str()); @@ -217,9 +224,6 @@ bool CMeasure::ParseSubstitute(std::wstring buffer) { if (buffer.empty()) return true; - // Add quotes since they are removed by the GetProfileString - buffer = L"\"" + buffer + L"\""; - std::wstring word1; std::wstring word2; std::wstring sep; @@ -263,13 +267,15 @@ std::wstring CMeasure::ExtractWord(std::wstring& buffer) std::wstring::size_type notwhite = buffer.find_first_not_of(L" \t\n"); buffer.erase(0, notwhite); - if (buffer[0] == L'\"') + if (buffer[0] == L'\"' || buffer[0] == L'\'') { + WCHAR quote = buffer[0]; + end = 1; // Skip the '"' // Quotes around the word - while (buffer[end] != L'\"' && end < buffer.size()) ++end; + while (buffer[end] != quote && end < buffer.size()) ++end; - if (buffer[end] == L'\"') + if (buffer[end] == quote) { ret = buffer.substr(1, end - 1); buffer.erase(0, end + 1); @@ -299,8 +305,6 @@ std::wstring CMeasure::ExtractWord(std::wstring& buffer) } } - while ((pos = ret.find(L"#QUOT#", pos)) != std::wstring::npos) ret.replace(pos, 6, L"\""); - return ret; } diff --git a/Plugins/PluginWebParser/PluginWebParser.vcproj b/Plugins/PluginWebParser/PluginWebParser.vcproj index e052fab6..61389b3b 100644 --- a/Plugins/PluginWebParser/PluginWebParser.vcproj +++ b/Plugins/PluginWebParser/PluginWebParser.vcproj @@ -51,7 +51,7 @@ + + + + @@ -589,7 +597,7 @@ @@ -599,7 +607,7 @@ @@ -649,7 +657,7 @@ @@ -659,7 +667,7 @@ @@ -709,7 +717,7 @@ @@ -719,7 +727,7 @@ @@ -769,7 +777,7 @@ @@ -779,7 +787,7 @@ @@ -829,7 +837,7 @@ @@ -839,7 +847,7 @@ @@ -889,7 +897,7 @@ @@ -899,7 +907,7 @@ @@ -949,7 +957,7 @@ @@ -959,7 +967,7 @@ @@ -1009,7 +1017,7 @@ @@ -1019,7 +1027,7 @@ @@ -1069,7 +1077,7 @@ @@ -1079,7 +1087,7 @@ @@ -1133,7 +1141,7 @@ @@ -1143,7 +1151,7 @@ @@ -1193,7 +1201,7 @@ @@ -1203,7 +1211,7 @@ @@ -1253,7 +1261,7 @@ @@ -1263,7 +1271,7 @@ - - @@ -1317,7 +1321,7 @@ @@ -1327,7 +1331,7 @@ @@ -1377,7 +1381,7 @@ @@ -1387,7 +1391,7 @@ @@ -1437,7 +1441,7 @@ @@ -1447,7 +1451,7 @@ @@ -1497,7 +1501,7 @@ @@ -1507,7 +1511,7 @@ @@ -1557,7 +1561,7 @@ @@ -1567,7 +1571,7 @@ @@ -1617,7 +1621,7 @@ @@ -1627,7 +1631,7 @@ @@ -1677,7 +1681,7 @@ @@ -1687,7 +1691,7 @@ @@ -1737,7 +1741,7 @@ @@ -1747,7 +1751,7 @@ + + @@ -1798,7 +1806,7 @@ @@ -1808,7 +1816,7 @@ diff --git a/Plugins/PluginWebParser/WebParser.cpp b/Plugins/PluginWebParser/WebParser.cpp index 89e538e4..0b3eaf4d 100644 --- a/Plugins/PluginWebParser/WebParser.cpp +++ b/Plugins/PluginWebParser/WebParser.cpp @@ -29,7 +29,7 @@ #include #include #include -#include "pcre-6.4/pcre.h" +#include "pcre-8.10/pcre.h" #include "..\..\Library\Export.h" // Rainmeter's exported functions /* The exported functions */