mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
- Now able to use single quote as quotes in Substitute. Reverted r510, r511.
- [WebParser] Updated PCRE library 6.4 to 8.10.
This commit is contained in:
parent
67e5d4142d
commit
46b19fbd73
@ -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;
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -29,7 +29,7 @@
|
||||
#include <vector>
|
||||
#include <Wininet.h>
|
||||
#include <shlwapi.h>
|
||||
#include "pcre-6.4/pcre.h"
|
||||
#include "pcre-8.10/pcre.h"
|
||||
#include "..\..\Library\Export.h" // Rainmeter's exported functions
|
||||
|
||||
/* The exported functions */
|
||||
|
Loading…
Reference in New Issue
Block a user