2009/11/8 Marcus Meissner <meissner(a)suse.de>:
@@ -84,6 +84,17 @@ static RPC_STATUS RpcAssoc_Alloc(LPCSTR Protseq, LPCSTR NetworkAddr, return RPC_S_OK; }
+static BOOL compare_networkoptions(LPCWSTR opts1, LPCWSTR opts2) +{ + if ((opts1 == NULL) && (opts2 == NULL)) + return TRUE; + if ((opts1 == NULL) && (opts2 != NULL)) + return FALSE; + if ((opts1 != NULL) && (opts2 == NULL)) + return FALSE; + return !strcmpW(opts1, opts2); +} + RPC_STATUS RPCRT4_GetAssociation(LPCSTR Protseq, LPCSTR NetworkAddr, LPCSTR Endpoint, LPCWSTR NetworkOptions, RpcAssoc **assoc_out) @@ -97,8 +108,8 @@ RPC_STATUS RPCRT4_GetAssociation(LPCSTR Protseq, LPCSTR NetworkAddr, if (!strcmp(Protseq, assoc->Protseq) && !strcmp(NetworkAddr, assoc->NetworkAddr) && !strcmp(Endpoint, assoc->Endpoint) && - ((!assoc->NetworkOptions && !NetworkOptions) || !strcmpW(NetworkOptions, assoc->NetworkOptions))) - { + compare_networkoptions(NetworkOptions, assoc->NetworkOptions) + ) {
Looks good functionally, but please don't change the style.
assoc->refs++; *assoc_out = assoc; LeaveCriticalSection(&assoc_list_cs);
Thanks, -- Rob Shearman