From dafa7dd36b2b1b31e9a6f61e688c49a336acf1c3 Mon Sep 17 00:00:00 2001 From: Arun M Date: Sat, 13 Jun 2020 13:06:00 +0530 Subject: [PATCH] string comparison issue on win32 #55 --- subprocess.hpp | 8 ++++++-- test/test_split | Bin 41196 -> 0 bytes 2 files changed, 6 insertions(+), 2 deletions(-) delete mode 100755 test/test_split diff --git a/subprocess.hpp b/subprocess.hpp index fb93766..c77cb7e 100755 --- a/subprocess.hpp +++ b/subprocess.hpp @@ -236,10 +236,14 @@ namespace util FILE *file_from_handle(HANDLE h, const char *mode) { int md; - if (mode == "w") { + if (!mode) { + throw OSError("invalid_mode", 0); + } + + if (mode[0] == 'w') { md = _O_WRONLY; } - else if (mode == "r") { + else if (mode[0] == 'r') { md = _O_RDONLY; } else { diff --git a/test/test_split b/test/test_split deleted file mode 100755 index 10ea66986ca611c8336c6cb6c155d7dd0d9da4bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41196 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