mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
Merge pull request #1878 from RaiKoHoff/DevNewFeatures
Fix: URL Encode/Decode (according to RFC 3986) for (Win7 API)
This commit is contained in:
commit
f3d28211b0
@ -1 +1 @@
|
||||
2702
|
||||
2703
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assemblyIdentity
|
||||
name="Notepad3"
|
||||
processorArchitecture="*"
|
||||
version="5.20.110.2702"
|
||||
version="5.20.113.2703"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Notepad3 BETA</description>
|
||||
|
||||
@ -121,7 +121,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SmallerTypeCheck>false</SmallerTypeCheck>
|
||||
@ -146,7 +146,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SmallerTypeCheck>false</SmallerTypeCheck>
|
||||
@ -170,7 +170,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
@ -193,7 +193,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NP3;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_STATIC;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
|
||||
@ -121,7 +121,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SmallerTypeCheck>false</SmallerTypeCheck>
|
||||
@ -149,7 +149,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SmallerTypeCheck>false</SmallerTypeCheck>
|
||||
@ -176,7 +176,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
@ -202,7 +202,7 @@
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_SCL_SECURE_NO_WARNINGS;NO_CXX11_REGEX;SCI_OWNREGEX;ONIG_EXTERN=extern;SCINTILLA_DLL;NP3;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
|
||||
@ -1646,9 +1646,8 @@ void EditURLEncode(HWND hwnd)
|
||||
}
|
||||
|
||||
DWORD cchEscapedW = (DWORD)cchEscaped;
|
||||
DWORD const flags = (DWORD)(URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_PERCENT | URL_ESCAPE_AS_UTF8);
|
||||
|
||||
UrlEscape(szTextW, pszEscapedW, &cchEscapedW, flags);
|
||||
UrlEscapeEx(szTextW, pszEscapedW, &cchEscapedW);
|
||||
|
||||
ptrdiff_t const cchEscapedEnc = WideCharToMultiByteEx(Encoding_SciCP, 0, pszEscapedW, cchEscapedW,
|
||||
pszEscaped, cchEscaped, NULL, NULL);
|
||||
@ -1723,11 +1722,11 @@ void EditURLDecode(HWND hwnd)
|
||||
return;
|
||||
}
|
||||
|
||||
size_t cchUnescapedW = cchUnescaped;
|
||||
DWORD cchUnescapedW = (DWORD)cchUnescaped;
|
||||
UrlUnescapeEx(pszTextW, pszUnescapedW, &cchUnescapedW);
|
||||
|
||||
ptrdiff_t const cchUnescapedDec = WideCharToMultiByteEx(Encoding_SciCP, 0, pszUnescapedW, cchUnescapedW,
|
||||
pszUnescaped, cchUnescaped, NULL, NULL);
|
||||
int const cchUnescapedDec = WideCharToMultiByte(Encoding_SciCP, 0, pszUnescapedW, cchUnescapedW,
|
||||
pszUnescaped, (int)cchUnescaped, NULL, NULL);
|
||||
|
||||
_BEGIN_UNDO_ACTION_
|
||||
_IGNORE_NOTIFY_CHANGE_;
|
||||
|
||||
126
src/Helpers.c
126
src/Helpers.c
@ -20,6 +20,7 @@
|
||||
|
||||
#include <shlobj.h>
|
||||
#include <shellapi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
//#include <pathcch.h>
|
||||
|
||||
@ -2201,29 +2202,130 @@ VOID RestoreWndFromTray(HWND hWnd)
|
||||
// properly until DAR finished
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// UrlEscapeEx()
|
||||
//
|
||||
|
||||
#if (NTDDI_VERSION < NTDDI_WIN8)
|
||||
|
||||
// no encoding for safe chars
|
||||
inline bool isAlphaNumeric(WCHAR ch) {
|
||||
return
|
||||
((ch >= L'0') && (ch <= L'9')) ||
|
||||
((ch >= L'a') && (ch <= L'z')) ||
|
||||
((ch >= L'A') && (ch <= L'Z'));
|
||||
}
|
||||
|
||||
// Convert a byte into Hexadecimal Unicode character
|
||||
inline void toHEX(BYTE val, WCHAR* pOutChr)
|
||||
{
|
||||
StringCchPrintfW(pOutChr, 4, L"%%%0.2X", val);
|
||||
}
|
||||
|
||||
// Convert a Unicode character into UTF8
|
||||
inline WORD toUTF8(WCHAR ch)
|
||||
{
|
||||
WCHAR wc[2] = { L'\0', L'\0' };
|
||||
CHAR mb[3] = { '\0', '\0', '\0' };
|
||||
wc[0] = ch;
|
||||
WideCharToMultiByte(CP_UTF8, 0, wc, 2, mb, 3, 0, 0);
|
||||
return MAKEWORD(mb[1], mb[0]);
|
||||
}
|
||||
|
||||
// Convert a UTF8 character into Unicode
|
||||
inline WCHAR fromUTF8(WORD w)
|
||||
{
|
||||
WCHAR wc[2] = { L'\0', L'\0' };
|
||||
CHAR mb[3] = { '\0', '\0', '\0' };
|
||||
mb[0] = HIBYTE(w);
|
||||
mb[1] = LOBYTE(w);
|
||||
MultiByteToWideChar(CP_UTF8, 0, mb, 3, wc, 2);
|
||||
return (WCHAR)wc[0];
|
||||
}
|
||||
|
||||
LPCTSTR const lpszUnsafeChars = L"% \"<>#{}|\\^~[]`";
|
||||
LPCTSTR const lpszReservedChars = L"$&+,./:;=?@-_!*()'";
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
void UrlEscapeEx(LPCWSTR lpURL, LPWSTR lpEscaped, DWORD* pcchEscaped)
|
||||
{
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
UrlEscape(lpURL, lpEscaped, pcchEscaped, (URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_URI_COMPONENT));
|
||||
#else
|
||||
//UrlEscape(lpURL, lpEscaped, pcchEscaped, (URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_PERCENT | URL_ESCAPE_AS_UTF8));
|
||||
|
||||
DWORD posIn = 0;
|
||||
DWORD posOut = 0;
|
||||
|
||||
while (lpURL[posIn] && (posOut < *pcchEscaped))
|
||||
{
|
||||
if (isAlphaNumeric(lpURL[posIn]))
|
||||
{
|
||||
lpEscaped[posOut++] = lpURL[posIn++];
|
||||
}
|
||||
else if (StrChrW(lpszReservedChars, lpURL[posIn]))
|
||||
{
|
||||
if (posOut < (*pcchEscaped - 3)) {
|
||||
toHEX(toascii(lpURL[posIn++]), &lpEscaped[posOut]);
|
||||
posOut += 3;
|
||||
}
|
||||
}
|
||||
else if (StrChrW(lpszUnsafeChars, lpURL[posIn]))
|
||||
{
|
||||
if (posOut < (*pcchEscaped - 3)) {
|
||||
toHEX(toascii(lpURL[posIn++]), &lpEscaped[posOut]);
|
||||
posOut += 3;
|
||||
}
|
||||
}
|
||||
// Encode unprintable characters 0x00-0x1F, and 0x7F
|
||||
else if ((lpURL[posIn] <= 0x1F) || (lpURL[posIn] == 0x7F))
|
||||
{
|
||||
if (posOut < (*pcchEscaped - 3)) {
|
||||
toHEX((BYTE)lpURL[posIn++], &lpEscaped[posOut]);
|
||||
posOut += 3;
|
||||
}
|
||||
}
|
||||
// Now encode all other unsafe characters
|
||||
else {
|
||||
WORD const w = toUTF8(lpURL[posIn++]);
|
||||
if (posOut < (*pcchEscaped - 6)) {
|
||||
toHEX(HIBYTE(w), &lpEscaped[posOut]);
|
||||
posOut += 3;
|
||||
toHEX(LOBYTE(w), &lpEscaped[posOut]);
|
||||
posOut += 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
lpEscaped[posOut] = L'\0';
|
||||
*pcchEscaped = posOut;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// UrlUnescapeEx()
|
||||
//
|
||||
void UrlUnescapeEx(LPWSTR lpURL, LPWSTR lpUnescaped, size_t* pcchUnescaped)
|
||||
void UrlUnescapeEx(LPWSTR lpURL, LPWSTR lpUnescaped, DWORD* pcchUnescaped)
|
||||
{
|
||||
#if defined(URL_UNESCAPE_AS_UTF8)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
UrlUnescape(lpURL, lpUnescaped, pcchUnescaped, URL_UNESCAPE_AS_UTF8);
|
||||
#else
|
||||
char* outBuffer = AllocMem(*pcchUnescaped + 1, HEAP_ZERO_MEMORY);
|
||||
if (outBuffer == NULL) {
|
||||
return;
|
||||
}
|
||||
size_t const outLen = *pcchUnescaped;
|
||||
DWORD const outLen = *pcchUnescaped;
|
||||
|
||||
size_t posIn = 0;
|
||||
DWORD posIn = 0;
|
||||
WCHAR buf[5] = { L'\0' };
|
||||
size_t lastEsc = StringCchLenW(lpURL,0) - 2;
|
||||
DWORD lastEsc = (DWORD)StringCchLenW(lpURL,0) - 2;
|
||||
unsigned int code;
|
||||
|
||||
size_t posOut = 0;
|
||||
DWORD posOut = 0;
|
||||
while ((posIn < lastEsc) && (posOut < outLen))
|
||||
{
|
||||
bool bOk = false;
|
||||
@ -2255,22 +2357,22 @@ void UrlUnescapeEx(LPWSTR lpURL, LPWSTR lpUnescaped, size_t* pcchUnescaped)
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO(rkotten): HTML Hex encoded (&#x...)
|
||||
|
||||
if (!bOk) {
|
||||
posOut += WideCharToMultiByteEx(Encoding_SciCP, 0, &(lpURL[posIn++]), 1,
|
||||
&(outBuffer[posOut]), (outLen - posOut), NULL, NULL);
|
||||
posOut += WideCharToMultiByte(Encoding_SciCP, 0, &lpURL[posIn++], 1,
|
||||
&outBuffer[posOut], (int)(outLen - posOut), NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
// copy rest
|
||||
while ((lpURL[posIn] != L'\0') && (posOut < outLen))
|
||||
{
|
||||
posOut += WideCharToMultiByteEx(Encoding_SciCP, 0, &(lpURL[posIn++]), 1,
|
||||
&(outBuffer[posOut]), (outLen - posOut), NULL, NULL);
|
||||
posOut += WideCharToMultiByte(Encoding_SciCP, 0, &lpURL[posIn++], 1,
|
||||
&outBuffer[posOut], (int)(outLen - posOut), NULL, NULL);
|
||||
}
|
||||
outBuffer[posOut] = '\0';
|
||||
|
||||
ptrdiff_t const iOut = MultiByteToWideCharEx(Encoding_SciCP, 0, outBuffer, -1, lpUnescaped, *pcchUnescaped);
|
||||
DWORD const iOut = MultiByteToWideChar(Encoding_SciCP, 0, outBuffer, -1, lpUnescaped, (int)*pcchUnescaped);
|
||||
FreeMem(outBuffer);
|
||||
|
||||
*pcchUnescaped = ((iOut > 0) ? (iOut - 1) : 0);
|
||||
|
||||
@ -512,7 +512,8 @@ inline int GetHexDigit(char ch) {
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void UrlUnescapeEx(LPWSTR lpURL, LPWSTR lpUnescaped, size_t* pcchUnescaped);
|
||||
void UrlEscapeEx(LPCWSTR lpURL, LPWSTR lpEscaped, DWORD* pcchEscaped);
|
||||
void UrlUnescapeEx(LPWSTR lpURL, LPWSTR lpUnescaped, DWORD* pcchUnescaped);
|
||||
|
||||
int ReadStrgsFromCSV(LPCWSTR wchCSVStrg, prefix_t sMatrix[], int iCount, int iLen, LPCWSTR sDefault);
|
||||
int ReadVectorFromString(LPCWSTR wchStrg, int iVector[], int iCount, int iMin, int iMax, int iDefault);
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;WIN32;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;WIN32;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
@ -173,7 +173,7 @@
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_WIN64;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_WIN64;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
@ -233,7 +233,7 @@
|
||||
<AdditionalIncludeDirectories>.\;..\scintilla\include;..\scintilla\lexlib;..\scintilla\src;..\sciXlexers;..\ced\ced;..\uchardet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
@ -301,7 +301,7 @@
|
||||
<AdditionalIncludeDirectories>.\;..\scintilla\include;..\scintilla\lexlib;..\scintilla\src;..\sciXlexers;..\ced\ced;..\uchardet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;WIN32;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;WIN32;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
@ -173,7 +173,7 @@
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_WIN64;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_WIN64;STATIC_BUILD;SCI_LEXER;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
@ -233,7 +233,7 @@
|
||||
<AdditionalIncludeDirectories>.\;..\scintilla\include;..\scintilla\lexlib;..\scintilla\src;..\sciXlexers;..\ced\ced;..\uchardet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
@ -301,7 +301,7 @@
|
||||
<AdditionalIncludeDirectories>.\;..\scintilla\include;..\scintilla\lexlib;..\scintilla\src;..\sciXlexers;..\ced\ced;..\uchardet;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
|
||||
@ -8,8 +8,8 @@
|
||||
#define SAPPNAME "Notepad3"
|
||||
#define VERSION_MAJOR 5
|
||||
#define VERSION_MINOR 20
|
||||
#define VERSION_REV 110
|
||||
#define VERSION_BUILD 2702
|
||||
#define VERSION_REV 113
|
||||
#define VERSION_BUILD 2703
|
||||
#define SCINTILLA_VER 423
|
||||
#define ONIGURUMA_REGEX_VER 6.9.4
|
||||
#define UCHARDET_VER 2018.09.27
|
||||
|
||||
Loading…
Reference in New Issue
Block a user