From e14a2279b29e3172de565bab17d59761e7fd7753 Mon Sep 17 00:00:00 2001 From: Gonzalo Paniagua Javier Date: Thu, 28 Jan 2010 23:01:51 +0000 Subject: [PATCH] 2010-01-28 Gonzalo Paniagua Javier * UnmanagedMemoryStream.cs: fix a regression from my previous patch. svn path=/trunk/mcs/; revision=150507 --- mcs/class/corlib/System.IO/ChangeLog | 4 ++++ .../corlib/System.IO/UnmanagedMemoryStream.cs | 16 +++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/mcs/class/corlib/System.IO/ChangeLog b/mcs/class/corlib/System.IO/ChangeLog index 3471e6eb0d2..3af5a40c778 100644 --- a/mcs/class/corlib/System.IO/ChangeLog +++ b/mcs/class/corlib/System.IO/ChangeLog @@ -1,3 +1,7 @@ +2010-01-28 Gonzalo Paniagua Javier + + * UnmanagedMemoryStream.cs: fix a regression from my previous patch. + 2010-01-26 Marek Habersack * SearchOption.cs: included in 2.1 build as internal to fix diff --git a/mcs/class/corlib/System.IO/UnmanagedMemoryStream.cs b/mcs/class/corlib/System.IO/UnmanagedMemoryStream.cs index b694e12293e..4083e35d73b 100644 --- a/mcs/class/corlib/System.IO/UnmanagedMemoryStream.cs +++ b/mcs/class/corlib/System.IO/UnmanagedMemoryStream.cs @@ -323,14 +323,15 @@ namespace System.IO #if NET_4_0 if (safebuffer != null) { unsafe { - byte *src = null; + byte *dest = null; try { - safebuffer.AcquirePointer (ref src); - fixed (byte *dest = buffer) { - String.memcpy (dest + offset, src + current_position, count); + safebuffer.AcquirePointer (ref dest); + fixed (byte *src = buffer) { + dest += current_position; + String.memcpy (dest, src + offset, count); } } finally { - if (src != null) + if (dest != null) safebuffer.ReleasePointer (); } } @@ -338,8 +339,9 @@ namespace System.IO #endif { unsafe { - fixed (byte *dest = buffer) { - String.memcpy (dest + offset, (byte *) initial_pointer + current_position, count); + fixed (byte *src = buffer) { + byte *dest = (byte *) initial_pointer + current_position; + String.memcpy (dest, src + offset, count); } } } -- 2.25.1