From c254b94517ff2a72e8722728ae5397a2a50ef5ec Mon Sep 17 00:00:00 2001 From: Hannes Kamecke Date: Thu, 10 Jun 2021 23:57:28 +0200 Subject: [PATCH] Fix windows com port prefix (#179) The check in `_prefix_port_if_needed` does not work, as it's currently comparing the whole input string to the prefix. As a consequence, port strings will be prefixed, even if they're already prefixed. This commit changes the call to `wstring::compare` to use an overload that compares a substring of the input string only. --- src/impl/win.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/impl/win.cpp b/src/impl/win.cpp index f5e00fcc..c29d49d1 100644 --- a/src/impl/win.cpp +++ b/src/impl/win.cpp @@ -24,7 +24,7 @@ inline wstring _prefix_port_if_needed(const wstring &input) { static wstring windows_com_port_prefix = L"\\\\.\\"; - if (input.compare(windows_com_port_prefix) != 0) + if (input.compare(0, windows_com_port_prefix.size(), windows_com_port_prefix) != 0) { return windows_com_port_prefix + input; }