+2007-05-19 Robert Jordan <robertj@gmx.net>
+
+ * IpcClientChannel.cs (CreateMessageSink, IpcToUnix):
+ don't try to parse null URLs because non wellknown remote objects
+ don't have one. Fixes bug #81653.
+
+ * IpcClientChannel.cs (ChangeUri): make static, reuse IpcToUnix ().
+
2005-10-16 Robert Jordan <robertj@gmx.net>
* Imported
//
internal static string IpcToUnix (string url)
{
+ if (url == null)
+ return null;
+
string portName;
string objectUri;
Win32.IpcChannelHelper.Parse (url, out portName, out objectUri);
//
// Simple message sink that changes ipc URLs to unix URLs.
//
- class UrlMapperSink : IMessageSink
+ sealed class UrlMapperSink : IMessageSink
{
readonly IMessageSink _sink;
get { return _sink.NextSink; }
}
- void ChangeUri (IMessage msg)
+ static void ChangeUri (IMessage msg)
{
string uri = msg.Properties ["__Uri"] as string;
if (uri != null) {
- string objectUri;
- Win32.IpcChannelHelper.Parse (uri, out objectUri);
- if (objectUri != null)
- msg.Properties ["__Uri"] = objectUri;
+ msg.Properties ["__Uri"] = IpcClientChannel.IpcToUnix (uri);
}
}