mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-23 07:28:51 -06:00
KWSys 2018-09-14 (1809bedd)
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 1809bedde0491d078ad42200bf2834c345e65398 (master).
Upstream Shortlog
-----------------
Ben Boeckel (2):
b5b294c1 SystemTools::Split: fix copy-pasta comments
ab0d44c9 SystemTools::Split: use str.find_first_of(char)
Roger Leigh (1):
bdd39241 Process: On Windows do not open stdin file with write permission
This commit is contained in:
committed by
Brad King
parent
4d76239a51
commit
b13c8526b1
@@ -973,8 +973,8 @@ void kwsysProcess_Execute(kwsysProcess* cp)
|
|||||||
wchar_t* wstdin = kwsysEncoding_DupToWide(cp->PipeFileSTDIN);
|
wchar_t* wstdin = kwsysEncoding_DupToWide(cp->PipeFileSTDIN);
|
||||||
DWORD error;
|
DWORD error;
|
||||||
cp->PipeChildStd[0] =
|
cp->PipeChildStd[0] =
|
||||||
CreateFileW(wstdin, GENERIC_READ | GENERIC_WRITE,
|
CreateFileW(wstdin, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
|
OPEN_EXISTING, 0, 0);
|
||||||
error = GetLastError(); /* Check now in case free changes this. */
|
error = GetLastError(); /* Check now in case free changes this. */
|
||||||
free(wstdin);
|
free(wstdin);
|
||||||
if (cp->PipeChildStd[0] == INVALID_HANDLE_VALUE) {
|
if (cp->PipeChildStd[0] == INVALID_HANDLE_VALUE) {
|
||||||
|
|||||||
@@ -3640,11 +3640,11 @@ bool SystemTools::Split(const std::string& str,
|
|||||||
while (lpos < data.length()) {
|
while (lpos < data.length()) {
|
||||||
std::string::size_type rpos = data.find_first_of(separator, lpos);
|
std::string::size_type rpos = data.find_first_of(separator, lpos);
|
||||||
if (rpos == std::string::npos) {
|
if (rpos == std::string::npos) {
|
||||||
// Line ends at end of string without a newline.
|
// String ends at end of string without a separator.
|
||||||
lines.push_back(data.substr(lpos));
|
lines.push_back(data.substr(lpos));
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
// Line ends in a "\n", remove the character.
|
// String ends in a separator, remove the character.
|
||||||
lines.push_back(data.substr(lpos, rpos - lpos));
|
lines.push_back(data.substr(lpos, rpos - lpos));
|
||||||
}
|
}
|
||||||
lpos = rpos + 1;
|
lpos = rpos + 1;
|
||||||
@@ -3658,7 +3658,7 @@ bool SystemTools::Split(const std::string& str,
|
|||||||
std::string data(str);
|
std::string data(str);
|
||||||
std::string::size_type lpos = 0;
|
std::string::size_type lpos = 0;
|
||||||
while (lpos < data.length()) {
|
while (lpos < data.length()) {
|
||||||
std::string::size_type rpos = data.find_first_of("\n", lpos);
|
std::string::size_type rpos = data.find_first_of('\n', lpos);
|
||||||
if (rpos == std::string::npos) {
|
if (rpos == std::string::npos) {
|
||||||
// Line ends at end of string without a newline.
|
// Line ends at end of string without a newline.
|
||||||
lines.push_back(data.substr(lpos));
|
lines.push_back(data.substr(lpos));
|
||||||
|
|||||||
Reference in New Issue
Block a user