[PATCH 3/4] wbemprox: Handle escaped backslashes in LIKE queries.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50256 Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> --- dlls/wbemprox/query.c | 1 + dlls/wbemprox/tests/query.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/dlls/wbemprox/query.c b/dlls/wbemprox/query.c index 3d60825f24e..ec2a43c3f5f 100644 --- a/dlls/wbemprox/query.c +++ b/dlls/wbemprox/query.c @@ -93,6 +93,7 @@ static BOOL eval_like( const WCHAR *lstr, const WCHAR *rstr ) while (*p && *q) { + if (q[0] == '\\' && q[1] == '\\') q++; if (*q == '%') { while (*q == '%') q++; diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c index 6321a0da135..c252edd26d1 100644 --- a/dlls/wbemprox/tests/query.c +++ b/dlls/wbemprox/tests/query.c @@ -1171,6 +1171,16 @@ static void test_Win32_NetworkAdapter( IWbemServices *services ) IEnumWbemClassObject_Release( result ); SysFreeString( query ); + + query = SysAllocString( L"SELECT * FROM Win32_NetworkAdapter WHERE PNPDeviceID LIKE \"PCI\\\\%\"" ); + hr = IWbemServices_ExecQuery( services, wql, query, 0, NULL, &result ); + ok( hr == S_OK, "got %08x\n", hr ); + SysFreeString( query ); + + query = SysAllocString( L"SELECT * FROM Win32_NetworkAdapter WHERE PNPDeviceID LIKE \"PCI\\%\"" ); + hr = IWbemServices_ExecQuery( services, wql, query, 0, NULL, &result ); + todo_wine ok( hr == WBEM_E_INVALID_QUERY, "got %08x\n", hr ); + SysFreeString( query ); SysFreeString( wql ); } -- 2.29.2
participants (1)
-
Hans Leidekker