Commit ef5a5a44 authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

rpcrt4: Fix RpcStringBindingComposeA/W and RpcStringBindingParseA/W to escape…

rpcrt4: Fix RpcStringBindingComposeA/W and RpcStringBindingParseA/W to escape and unescape delimiters in the string binding. This behaviour is stated by the DCE/RPC specification and is also shown in the rpcrt4 conformance tests.
parent 0a5e5a6e
......@@ -153,7 +153,7 @@ static RPC_STATUS get_epm_handle_client(RPC_BINDING_HANDLE handle, RPC_BINDING_H
static RPC_STATUS get_epm_handle_server(RPC_BINDING_HANDLE *epm_handle)
{
unsigned char string_binding[] = "ncacn_np:.[\\pipe\\epmapper]";
unsigned char string_binding[] = "ncacn_np:.[\\\\pipe\\\\epmapper]";
return RpcBindingFromStringBindingA(string_binding, epm_handle);
}
......
......@@ -577,7 +577,6 @@ static void test_RpcStringBindingParseA(void)
ok(!strcmp((char *)uuid, "00000000-0000-0000-c000-000000000046"), "uuid should have been 00000000-0000-0000-C000-000000000046 instead of %s\n", uuid);
ok(!strcmp((char *)protseq, "ncacn_np"), "protseq should have been ncacn_np instead of %s\n", protseq);
ok(!strcmp((char *)network_addr, "."), "network_addr should have been . instead of %s\n", network_addr);
todo_wine
ok(!strcmp((char *)endpoint, "pipetest"), "endpoint should have been pipetest instead of %s\n", endpoint);
todo_wine
ok(options && !strcmp((char *)options, ""), "options should have been \"\" of \"%s\"\n", options);
......@@ -593,7 +592,6 @@ static void test_RpcStringBindingParseA(void)
ok(!strcmp((char *)uuid, "00000000-0000-0000-c000-000000000046"), "uuid should have been 00000000-0000-0000-C000-000000000046 instead of %s\n", uuid);
ok(!strcmp((char *)protseq, "ncacn_np"), "protseq should have been ncacn_np instead of %s\n", protseq);
ok(!strcmp((char *)network_addr, "."), "network_addr should have been . instead of %s\n", network_addr);
todo_wine
ok(!strcmp((char *)endpoint, "pipetest"), "endpoint should have been pipetest instead of %s\n", endpoint);
todo_wine
ok(options && !strcmp((char *)options, ""), "options should have been \"\" of \"%s\"\n", options);
......@@ -742,7 +740,6 @@ static void test_RpcStringBindingFromBinding(void)
status = RpcBindingToStringBinding(handle, &binding);
ok(status == RPC_S_OK, "RpcStringBindingFromBinding failed with error %lu\n", status);
todo_wine
ok(!strcmp((const char *)binding, "ncacn_np:.[\\\\pipe\\\\wine_rpc_test]"),
"binding string didn't match what was expected: \"%s\"\n", binding);
RpcStringFree(&binding);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment