Author: hbelusca
Date: Sun Jun  8 23:02:40 2014
New Revision: 63573

URL: http://svn.reactos.org/svn/reactos?rev=63573&view=rev
Log:
[CONSRV]: Use InterlockedExchange16 to exchange Begin and End COORD structure 
members.

Modified:
    trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c

Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c?rev=63573&r1=63572&r2=63573&view=diff
==============================================================================
--- trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c     
[iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c     
[iso-8859-1] Sun Jun  8 23:02:40 2014
@@ -12,7 +12,7 @@
 /* INCLUDES 
*******************************************************************/
 
 #include <consrv.h>
-
+#include <intrin.h>
 #include <windowsx.h>
 
 #define NDEBUG
@@ -694,17 +694,8 @@
     /* Exchange Begin / End if Begin > End lexicographically */
     if (Begin->Y > End->Y || (Begin->Y == End->Y && Begin->X > End->X))
     {
-        SHORT tmp;
-
-        // End->X = InterlockedExchange16(&Begin->X, End->X);
-        tmp = Begin->X;
-        Begin->X = End->X;
-        End->X = tmp;
-
-        // End->Y = InterlockedExchange16(&Begin->Y, End->Y);
-        tmp = Begin->Y;
-        Begin->Y = End->Y;
-        End->Y = tmp;
+        End->X = _InterlockedExchange16(&Begin->X, End->X);
+        End->Y = _InterlockedExchange16(&Begin->Y, End->Y);
     }
 }
 


Reply via email to