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:
KWSys Upstream
2018-09-14 13:13:00 -04:00
committed by Brad King
parent 4d76239a51
commit b13c8526b1
2 changed files with 5 additions and 5 deletions

View File

@@ -973,8 +973,8 @@ void kwsysProcess_Execute(kwsysProcess* cp)
wchar_t* wstdin = kwsysEncoding_DupToWide(cp->PipeFileSTDIN);
DWORD error;
cp->PipeChildStd[0] =
CreateFileW(wstdin, GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
CreateFileW(wstdin, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
OPEN_EXISTING, 0, 0);
error = GetLastError(); /* Check now in case free changes this. */
free(wstdin);
if (cp->PipeChildStd[0] == INVALID_HANDLE_VALUE) {

View File

@@ -3640,11 +3640,11 @@ bool SystemTools::Split(const std::string& str,
while (lpos < data.length()) {
std::string::size_type rpos = data.find_first_of(separator, lpos);
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));
return false;
} 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));
}
lpos = rpos + 1;
@@ -3658,7 +3658,7 @@ bool SystemTools::Split(const std::string& str,
std::string data(str);
std::string::size_type lpos = 0;
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) {
// Line ends at end of string without a newline.
lines.push_back(data.substr(lpos));