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 572920c7702..5d7559afe56 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 ); }