https://git.reactos.org/?p=reactos.git;a=commitdiff;h=533d877aaf692a16c8f3f06bfa228aa2aaf730a2

commit 533d877aaf692a16c8f3f06bfa228aa2aaf730a2
Author:     Thamatip Chitpong <thamatip.chitp...@reactos.org>
AuthorDate: Thu Dec 21 11:10:46 2023 +0700
Commit:     GitHub <nore...@github.com>
CommitDate: Thu Dec 21 11:10:46 2023 +0700

    [NTUSER] Remove RETURN() macro (#6194)
    
    Remove macro definition and the remaining uses.
    RETURN() macro is just a wrapper for goto, most of the time it makes the 
code more complicated than using goto directly.
---
 win32ss/user/ntuser/caret.c      |  51 +++++++--------
 win32ss/user/ntuser/cursoricon.c |  24 +++----
 win32ss/user/ntuser/desktop.c    |  50 +++++++--------
 win32ss/user/ntuser/focus.c      |  55 +++++++---------
 win32ss/user/ntuser/hook.c       |  59 +++++++++--------
 win32ss/user/ntuser/message.c    |  92 ++++++++++++++-------------
 win32ss/user/ntuser/misc.c       |  36 +++++------
 win32ss/user/ntuser/ntuser.h     |   5 --
 win32ss/user/ntuser/object.c     |  15 +++--
 win32ss/user/ntuser/painting.c   |  84 +++++++++++--------------
 win32ss/user/ntuser/scrollbar.c  | 122 ++++++++++++++++++------------------
 win32ss/user/ntuser/scrollex.c   |  33 +++++-----
 win32ss/user/ntuser/windc.c      |  12 ++--
 win32ss/user/ntuser/winpos.c     | 132 +++++++++++++++++----------------------
 14 files changed, 357 insertions(+), 413 deletions(-)

diff --git a/win32ss/user/ntuser/caret.c b/win32ss/user/ntuser/caret.c
index a4e4afc1acb..60594c50134 100644
--- a/win32ss/user/ntuser/caret.c
+++ b/win32ss/user/ntuser/caret.c
@@ -316,20 +316,20 @@ NtUserCreateCaret(
    PWND Window;
    PTHREADINFO pti;
    PUSER_MESSAGE_QUEUE ThreadQueue;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
 
    TRACE("Enter NtUserCreateCaret\n");
    UserEnterExclusive();
 
    if(!(Window = UserGetWindowObject(hWnd)))
    {
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if(Window->head.pti->pEThread != PsGetCurrentThread())
    {
       EngSetLastError(ERROR_ACCESS_DENIED);
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    pti = PsGetCurrentThreadWin32Thread();
@@ -368,12 +368,12 @@ NtUserCreateCaret(
 
    IntNotifyWinEvent(EVENT_OBJECT_CREATE, Window, OBJID_CARET, CHILDID_SELF, 
0);
 
-   RETURN(TRUE);
+   Ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserCreateCaret, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserCreateCaret, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 UINT
@@ -399,7 +399,7 @@ NtUserGetCaretPos(
    PTHREADINFO pti;
    PUSER_MESSAGE_QUEUE ThreadQueue;
    NTSTATUS Status;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = TRUE;
 
    TRACE("Enter NtUserGetCaretPos\n");
    UserEnterShared();
@@ -411,15 +411,12 @@ NtUserGetCaretPos(
    if(!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN(FALSE);
+      Ret = FALSE;
    }
 
-   RETURN(TRUE);
-
-CLEANUP:
-   TRACE("Leave NtUserGetCaretPos, ret=%i\n",_ret_);
+   TRACE("Leave NtUserGetCaretPos, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 BOOL
@@ -428,15 +425,14 @@ NtUserShowCaret(HWND hWnd OPTIONAL)
 {
    PWND Window = NULL;
    USER_REFERENCE_ENTRY Ref;
-   DECLARE_RETURN(BOOL);
-   BOOL ret;
+   BOOL ret = FALSE;
 
    TRACE("Enter NtUserShowCaret\n");
    UserEnterExclusive();
 
    if(hWnd && !(Window = UserGetWindowObject(hWnd)))
    {
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if (Window) UserRefObjectCo(Window, &Ref);
@@ -445,12 +441,10 @@ NtUserShowCaret(HWND hWnd OPTIONAL)
 
    if (Window) UserDerefObjectCo(Window);
 
-   RETURN(ret);
-
-CLEANUP:
-   TRACE("Leave NtUserShowCaret, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserShowCaret, ret=%i\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 BOOL
@@ -459,15 +453,14 @@ NtUserHideCaret(HWND hWnd OPTIONAL)
 {
    PWND Window = NULL;
    USER_REFERENCE_ENTRY Ref;
-   DECLARE_RETURN(BOOL);
-   BOOL ret;
+   BOOL ret = FALSE;
 
    TRACE("Enter NtUserHideCaret\n");
    UserEnterExclusive();
 
    if(hWnd && !(Window = UserGetWindowObject(hWnd)))
    {
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if (Window) UserRefObjectCo(Window, &Ref);
@@ -476,10 +469,8 @@ NtUserHideCaret(HWND hWnd OPTIONAL)
 
    if (Window) UserDerefObjectCo(Window);
 
-   RETURN(ret);
-
-CLEANUP:
-   TRACE("Leave NtUserHideCaret, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserHideCaret, ret=%i\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
diff --git a/win32ss/user/ntuser/cursoricon.c b/win32ss/user/ntuser/cursoricon.c
index bb72ffcdfba..1c51605a3e9 100644
--- a/win32ss/user/ntuser/cursoricon.c
+++ b/win32ss/user/ntuser/cursoricon.c
@@ -650,7 +650,6 @@ NtUserGetCursorInfo(
     NTSTATUS Status = STATUS_SUCCESS;
     PCURICON_OBJECT CurIcon;
     BOOL Ret = FALSE;
-    DECLARE_RETURN(BOOL);
 
     TRACE("Enter NtUserGetCursorInfo\n");
     UserEnterShared();
@@ -687,12 +686,9 @@ NtUserGetCursorInfo(
         SetLastNtError(Status);
     }
 
-    RETURN(Ret);
-
-CLEANUP:
-    TRACE("Leave NtUserGetCursorInfo, ret=%i\n",_ret_);
+    TRACE("Leave NtUserGetCursorInfo, ret=%i\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 BOOL
@@ -999,18 +995,18 @@ NtUserGetClipCursor(
     PSYSTEM_CURSORINFO CurInfo;
     RECTL Rect;
     NTSTATUS Status;
-    DECLARE_RETURN(BOOL);
+    BOOL Ret = FALSE;
 
     TRACE("Enter NtUserGetClipCursor\n");
     UserEnterShared();
 
     if (!CheckWinstaAttributeAccess(WINSTA_READATTRIBUTES))
     {
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     if (!lpRect)
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
 
     CurInfo = IntGetSysCursorInfo();
     if (CurInfo->bClipped)
@@ -1029,15 +1025,15 @@ NtUserGetClipCursor(
     if (!NT_SUCCESS(Status))
     {
         SetLastNtError(Status);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
-    RETURN(TRUE);
+    Ret = TRUE;
 
-CLEANUP:
-    TRACE("Leave NtUserGetClipCursor, ret=%i\n",_ret_);
+Exit:
+    TRACE("Leave NtUserGetClipCursor, ret=%i\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 
diff --git a/win32ss/user/ntuser/desktop.c b/win32ss/user/ntuser/desktop.c
index 7f200cbfc92..c3ac7e034a0 100644
--- a/win32ss/user/ntuser/desktop.c
+++ b/win32ss/user/ntuser/desktop.c
@@ -2535,8 +2535,7 @@ NtUserCreateDesktop(
 {
     NTSTATUS Status;
     HDESK hDesk;
-
-    DECLARE_RETURN(HDESK);
+    HDESK Ret = NULL;
 
     TRACE("Enter NtUserCreateDesktop\n");
     UserEnterExclusive();
@@ -2552,15 +2551,15 @@ NtUserCreateDesktop(
     {
         ERR("IntCreateDesktop failed, Status 0x%08lx\n", Status);
         // SetLastNtError(Status);
-        RETURN(NULL);
+        goto Exit; // Return NULL
     }
 
-    RETURN(hDesk);
+    Ret = hDesk;
 
-CLEANUP:
-    TRACE("Leave NtUserCreateDesktop, ret=0x%p\n", _ret_);
+Exit:
+    TRACE("Leave NtUserCreateDesktop, ret=0x%p\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 /*
@@ -2724,7 +2723,7 @@ NtUserCloseDesktop(HDESK hDesktop)
 {
     PDESKTOP pdesk;
     NTSTATUS Status;
-    DECLARE_RETURN(BOOL);
+    BOOL Ret = FALSE;
 
     TRACE("NtUserCloseDesktop(0x%p) called\n", hDesktop);
     UserEnterExclusive();
@@ -2733,14 +2732,14 @@ NtUserCloseDesktop(HDESK hDesktop)
     {
         ERR("Attempted to close thread desktop\n");
         EngSetLastError(ERROR_BUSY);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     Status = IntValidateDesktopHandle(hDesktop, UserMode, 0, &pdesk);
     if (!NT_SUCCESS(Status))
     {
         ERR("Validation of desktop handle 0x%p failed\n", hDesktop);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     ObDereferenceObject(pdesk);
@@ -2750,15 +2749,15 @@ NtUserCloseDesktop(HDESK hDesktop)
     {
         ERR("Failed to close desktop handle 0x%p\n", hDesktop);
         SetLastNtError(Status);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
-    RETURN(TRUE);
+    Ret = TRUE;
 
-CLEANUP:
-    TRACE("Leave NtUserCloseDesktop, ret=%i\n", _ret_);
+Exit:
+    TRACE("Leave NtUserCloseDesktop, ret=%i\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 /*
@@ -2939,7 +2938,7 @@ NtUserSwitchDesktop(HDESK hdesk)
     PDESKTOP pdesk;
     NTSTATUS Status;
     BOOL bRedrawDesktop;
-    DECLARE_RETURN(BOOL);
+    BOOL Ret = FALSE;
 
     UserEnterExclusive();
     TRACE("Enter NtUserSwitchDesktop(0x%p)\n", hdesk);
@@ -2948,21 +2947,22 @@ NtUserSwitchDesktop(HDESK hdesk)
     if (!NT_SUCCESS(Status))
     {
         ERR("Validation of desktop handle 0x%p failed\n", hdesk);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     if (PsGetCurrentProcessSessionId() != pdesk->rpwinstaParent->dwSessionId)
     {
         ObDereferenceObject(pdesk);
         ERR("NtUserSwitchDesktop called for a desktop of a different 
session\n");
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     if (pdesk == gpdeskInputDesktop)
     {
         ObDereferenceObject(pdesk);
         WARN("NtUserSwitchDesktop called for active desktop\n");
-        RETURN(TRUE);
+        Ret = TRUE;
+        goto Exit;
     }
 
     /*
@@ -2974,14 +2974,14 @@ NtUserSwitchDesktop(HDESK hdesk)
     {
         ObDereferenceObject(pdesk);
         ERR("Switching desktop 0x%p denied because the window station is 
locked!\n", hdesk);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     if (pdesk->rpwinstaParent != InputWindowStation)
     {
         ObDereferenceObject(pdesk);
         ERR("Switching desktop 0x%p denied because desktop doesn't belong to 
the interactive winsta!\n", hdesk);
-        RETURN(FALSE);
+        goto Exit; // Return FALSE
     }
 
     /* FIXME: Fail if the process is associated with a secured
@@ -3014,12 +3014,12 @@ NtUserSwitchDesktop(HDESK hdesk)
     TRACE("SwitchDesktop gpdeskInputDesktop 0x%p\n", gpdeskInputDesktop);
     ObDereferenceObject(pdesk);
 
-    RETURN(TRUE);
+    Ret = TRUE;
 
-CLEANUP:
-    TRACE("Leave NtUserSwitchDesktop, ret=%i\n", _ret_);
+Exit:
+    TRACE("Leave NtUserSwitchDesktop, ret=%i\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 /*
diff --git a/win32ss/user/ntuser/focus.c b/win32ss/user/ntuser/focus.c
index 3b11d47d5f4..2d6ed372a48 100644
--- a/win32ss/user/ntuser/focus.c
+++ b/win32ss/user/ntuser/focus.c
@@ -1441,17 +1441,16 @@ IntGetCapture(VOID)
 {
    PTHREADINFO pti;
    PUSER_MESSAGE_QUEUE ThreadQueue;
-   DECLARE_RETURN(HWND);
+   HWND Ret;
 
    TRACE("Enter IntGetCapture\n");
 
    pti = PsGetCurrentThreadWin32Thread();
    ThreadQueue = pti->MessageQueue;
-   RETURN( ThreadQueue ? (ThreadQueue->spwndCapture ? 
UserHMGetHandle(ThreadQueue->spwndCapture) : 0) : 0);
+   Ret = ((ThreadQueue && ThreadQueue->spwndCapture) ? 
UserHMGetHandle(ThreadQueue->spwndCapture) : NULL);
 
-CLEANUP:
-   TRACE("Leave IntGetCapture, ret=%p\n", _ret_);
-   END_CLEANUP;
+   TRACE("Leave IntGetCapture, ret=%p\n", Ret);
+   return Ret;
 }
 
 HWND FASTCALL
@@ -1647,17 +1646,16 @@ IntAllowSetForegroundWindow(DWORD dwProcessId)
 HWND APIENTRY
 NtUserGetForegroundWindow(VOID)
 {
-   DECLARE_RETURN(HWND);
+   HWND Ret;
 
    TRACE("Enter NtUserGetForegroundWindow\n");
    UserEnterExclusive();
 
-   RETURN( UserGetForegroundWindow());
+   Ret = UserGetForegroundWindow();
 
-CLEANUP:
-   TRACE("Leave NtUserGetForegroundWindow, ret=%p\n",_ret_);
+   TRACE("Leave NtUserGetForegroundWindow, ret=%p\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 HWND APIENTRY
@@ -1666,7 +1664,7 @@ NtUserSetActiveWindow(HWND hWnd)
    USER_REFERENCE_ENTRY Ref;
    HWND hWndPrev;
    PWND Window, pwndPrev;
-   DECLARE_RETURN(HWND);
+   HWND Ret = NULL;
 
    TRACE("Enter NtUserSetActiveWindow(%p)\n", hWnd);
    UserEnterExclusive();
@@ -1677,7 +1675,7 @@ NtUserSetActiveWindow(HWND hWnd)
       if (!(Window = UserGetWindowObject(hWnd)))
       {
          ERR("NtUserSetActiveWindow: Invalid handle 0x%p!\n",hWnd);
-         RETURN( NULL);
+         goto Exit; // Return NULL
       }
    }
 
@@ -1689,14 +1687,13 @@ NtUserSetActiveWindow(HWND hWnd)
       if (Window) UserRefObjectCo(Window, &Ref);
       UserSetActiveWindow(Window);
       if (Window) UserDerefObjectCo(Window);
-      RETURN(hWndPrev ? (IntIsWindow(hWndPrev) ? hWndPrev : NULL) : NULL);
+      Ret = ((hWndPrev && IntIsWindow(hWndPrev)) ? hWndPrev : NULL);
    }
-   RETURN( NULL);
 
-CLEANUP:
-   TRACE("Leave NtUserSetActiveWindow, ret=%p\n",_ret_);
+Exit:
+   TRACE("Leave NtUserSetActiveWindow, ret=%p\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -1705,17 +1702,16 @@ CLEANUP:
 HWND APIENTRY
 NtUserSetCapture(HWND hWnd)
 {
-   DECLARE_RETURN(HWND);
+   HWND Ret;
 
    TRACE("Enter NtUserSetCapture(%p)\n", hWnd);
    UserEnterExclusive();
 
-   RETURN( co_UserSetCapture(hWnd));
+   Ret = co_UserSetCapture(hWnd);
 
-CLEANUP:
-   TRACE("Leave NtUserSetCapture, ret=%p\n", _ret_);
+   TRACE("Leave NtUserSetCapture, ret=%p\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -1726,8 +1722,7 @@ NtUserSetFocus(HWND hWnd)
 {
    PWND Window;
    USER_REFERENCE_ENTRY Ref;
-   DECLARE_RETURN(HWND);
-   HWND ret;
+   HWND ret = NULL;
 
    TRACE("Enter NtUserSetFocus(%p)\n", hWnd);
    UserEnterExclusive();
@@ -1737,24 +1732,22 @@ NtUserSetFocus(HWND hWnd)
       if (!(Window = UserGetWindowObject(hWnd)))
       {
          ERR("NtUserSetFocus: Invalid handle 0x%p!\n",hWnd);
-         RETURN(NULL);
+         goto Exit; // Return NULL
       }
 
       UserRefObjectCo(Window, &Ref);
       ret = co_UserSetFocus(Window);
       UserDerefObjectCo(Window);
-
-      RETURN(ret);
    }
    else
    {
-      RETURN( co_UserSetFocus(0));
+      ret = co_UserSetFocus(NULL);
    }
 
-CLEANUP:
-   TRACE("Leave NtUserSetFocus, ret=%p\n",_ret_);
+Exit:
+   TRACE("Leave NtUserSetFocus, ret=%p\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 /* EOF */
diff --git a/win32ss/user/ntuser/hook.c b/win32ss/user/ntuser/hook.c
index b9879c01320..b9da033e07b 100644
--- a/win32ss/user/ntuser/hook.c
+++ b/win32ss/user/ntuser/hook.c
@@ -1376,7 +1376,6 @@ NtUserCallNextHookEx( int Code,
     PHOOK HookObj, NextObj;
     PCLIENTINFO ClientInfo;
     LRESULT lResult = 0;
-    DECLARE_RETURN(LRESULT);
 
     TRACE("Enter NtUserCallNextHookEx\n");
     UserEnterExclusive();
@@ -1385,7 +1384,8 @@ NtUserCallNextHookEx( int Code,
 
     HookObj = pti->sphkCurrent;
 
-    if (!HookObj) RETURN( 0);
+    if (!HookObj)
+       goto Exit; // Return 0
 
     NextObj = HookObj->phkNext;
 
@@ -1407,12 +1407,11 @@ NtUserCallNextHookEx( int Code,
        NextObj->phkNext = IntGetNextHook(NextObj);
        lResult = co_UserCallNextHookEx( NextObj, Code, wParam, lParam, 
NextObj->Ansi);
     }
-    RETURN( lResult);
 
-CLEANUP:
-    TRACE("Leave NtUserCallNextHookEx, ret=%i\n",_ret_);
+Exit:
+    TRACE("Leave NtUserCallNextHookEx, ret=%i\n", lResult);
     UserLeave();
-    END_CLEANUP;
+    return lResult;
 }
 
 HHOOK
@@ -1450,7 +1449,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
     NTSTATUS Status;
     HHOOK Handle;
     PTHREADINFO pti, ptiHook = NULL;
-    DECLARE_RETURN(HHOOK);
+    HHOOK Ret = NULL;
 
     TRACE("Enter NtUserSetWindowsHookEx\n");
     UserEnterExclusive();
@@ -1460,13 +1459,13 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
     if (HookId < WH_MINHOOK || WH_MAXHOOK < HookId )
     {
         EngSetLastError(ERROR_INVALID_HOOK_FILTER);
-        RETURN( NULL);
+        goto Cleanup; // Return NULL
     }
 
     if (!HookProc)
     {
         EngSetLastError(ERROR_INVALID_FILTER_PROC);
-        RETURN( NULL);
+        goto Cleanup; // Return NULL
     }
 
     if (ThreadId)  /* thread-local hook */
@@ -1480,21 +1479,21 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
            TRACE("Local hook installing Global HookId: %d\n",HookId);
            /* these can only be global */
            EngSetLastError(ERROR_GLOBAL_ONLY_HOOK);
-           RETURN( NULL);
+           goto Cleanup; // Return NULL
        }
 
        if ( !(ptiHook = IntTID2PTI( UlongToHandle(ThreadId) )))
        {
           ERR("Invalid thread id 0x%x\n", ThreadId);
           EngSetLastError(ERROR_INVALID_PARAMETER);
-          RETURN( NULL);
+          goto Cleanup; // Return NULL
        }
 
        if ( ptiHook->rpdesk != pti->rpdesk) // gptiCurrent->rpdesk)
        {
           ERR("Local hook wrong desktop HookId: %d\n",HookId);
           EngSetLastError(ERROR_ACCESS_DENIED);
-          RETURN( NULL);
+          goto Cleanup; // Return NULL
        }
 
        if (ptiHook->ppi != pti->ppi)
@@ -1511,7 +1510,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
           {
              ERR("Local hook needs hMod HookId: %d\n",HookId);
              EngSetLastError(ERROR_HOOK_NEEDS_HMOD);
-             RETURN( NULL);
+             goto Cleanup; // Return NULL
           }
 
           if ( (ptiHook->TIF_flags & (TIF_CSRSSTHREAD|TIF_SYSTEMTHREAD)) &&
@@ -1525,7 +1524,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
                 HookId == WH_CALLWNDPROCRET) )
           {
              EngSetLastError(ERROR_HOOK_TYPE_NOT_ALLOWED);
-             RETURN( NULL);
+             goto Cleanup; // Return NULL
           }
        }
     }
@@ -1545,7 +1544,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
        {
           ERR("Global hook needs hMod HookId: %d\n",HookId);
           EngSetLastError(ERROR_HOOK_NEEDS_HMOD);
-          RETURN( NULL);
+          goto Cleanup; // Return NULL
        }
     }
 
@@ -1558,7 +1557,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
     if (!NT_SUCCESS(Status))
     {
        SetLastNtError(Status);
-       RETURN( NULL);
+       goto Cleanup; // Return NULL
     }
     ObDereferenceObject(WinStaObj);
 
@@ -1566,7 +1565,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
 
     if (!Hook)
     {
-       RETURN( NULL);
+       goto Cleanup; // Return NULL
     }
 
     Hook->ihmod   = (INT_PTR)Mod; // Module Index from atom table, Do this for 
now.
@@ -1640,7 +1639,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
        {
           IntRemoveHook(Hook);
           SetLastNtError(Status);
-          RETURN( NULL);
+          goto Cleanup; // Return NULL
        }
 
        Hook->ModuleName.Buffer = ExAllocatePoolWithTag( PagedPool,
@@ -1650,7 +1649,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
        {
           IntRemoveHook(Hook);
           EngSetLastError(ERROR_NOT_ENOUGH_MEMORY);
-          RETURN( NULL);
+          goto Cleanup; // Return NULL
        }
 
        Hook->ModuleName.MaximumLength = ModuleName.MaximumLength;
@@ -1663,7 +1662,7 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
           Hook->ModuleName.Buffer = NULL;
           IntRemoveHook(Hook);
           SetLastNtError(Status);
-          RETURN( NULL);
+          goto Cleanup; // Return NULL
        }
 
        Hook->ModuleName.Length = ModuleName.Length;
@@ -1677,14 +1676,14 @@ NtUserSetWindowsHookEx( HINSTANCE Mod,
        Hook->offPfn = 0;
 
     TRACE("Installing: HookId %d Global %s\n", HookId, !ThreadId ? "TRUE" : 
"FALSE");
-    RETURN( Handle);
+    Ret = Handle;
 
-CLEANUP:
+Cleanup:
     if (Hook)
         UserDereferenceObject(Hook);
-    TRACE("Leave NtUserSetWindowsHookEx, ret=%p\n", _ret_);
+    TRACE("Leave NtUserSetWindowsHookEx, ret=%p\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 BOOL
@@ -1692,7 +1691,7 @@ APIENTRY
 NtUserUnhookWindowsHookEx(HHOOK Hook)
 {
     PHOOK HookObj;
-    DECLARE_RETURN(BOOL);
+    BOOL Ret = FALSE;
 
     TRACE("Enter NtUserUnhookWindowsHookEx\n");
     UserEnterExclusive();
@@ -1701,7 +1700,7 @@ NtUserUnhookWindowsHookEx(HHOOK Hook)
     {
         ERR("Invalid handle passed to NtUserUnhookWindowsHookEx\n");
         /* SetLastNtError(Status); */
-        RETURN( FALSE);
+        goto Exit; // Return FALSE
     }
 
     ASSERT(Hook == UserHMGetHandle(HookObj));
@@ -1710,12 +1709,12 @@ NtUserUnhookWindowsHookEx(HHOOK Hook)
 
     UserDereferenceObject(HookObj);
 
-    RETURN( TRUE);
+    Ret = TRUE;
 
-CLEANUP:
-    TRACE("Leave NtUserUnhookWindowsHookEx, ret=%i\n",_ret_);
+Exit:
+    TRACE("Leave NtUserUnhookWindowsHookEx, ret=%i\n", Ret);
     UserLeave();
-    END_CLEANUP;
+    return Ret;
 }
 
 BOOL
diff --git a/win32ss/user/ntuser/message.c b/win32ss/user/ntuser/message.c
index 78a7956d88b..92d00192712 100644
--- a/win32ss/user/ntuser/message.c
+++ b/win32ss/user/ntuser/message.c
@@ -1466,20 +1466,20 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
                                 ULONG_PTR *uResult )
 {
     NTSTATUS Status = STATUS_SUCCESS;
-    PWND Window = NULL;
+    PWND Window;
     PMSGMEMORY MsgMemoryEntry;
     INT lParamBufferSize;
     LPARAM lParamPacked;
     PTHREADINFO Win32Thread, ptiSendTo = NULL;
     ULONG_PTR Result = 0;
-    DECLARE_RETURN(LRESULT);
+    LRESULT Ret = FALSE;
     USER_REFERENCE_ENTRY Ref;
     BOOL DoCallBack = TRUE;
 
     if (!(Window = UserGetWindowObject(hWnd)))
     {
         TRACE("SendMessageTimeoutSingle: Invalid handle 0x%p!\n",hWnd);
-        RETURN( FALSE);
+        return FALSE;
     }
 
     UserRefObjectCo(Window, &Ref);
@@ -1493,7 +1493,7 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
        if (!IntDdeSendMessageHook(Window, Msg, wParam, lParam))
        {
           ERR("Sending Exit DDE 0x%x\n",Msg);
-          RETURN( FALSE);
+          goto Cleanup; // Return FALSE
        }
     }
 
@@ -1502,7 +1502,7 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
         if (Win32Thread->TIF_flags & TIF_INCLEANUP)
         {
             /* Never send messages to exiting threads */
-            RETURN( FALSE);
+            goto Cleanup; // Return FALSE
         }
 
         if (Msg & 0x80000000)
@@ -1510,7 +1510,8 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
            TRACE("SMTS: Internal Message!\n");
            Result = (ULONG_PTR)handle_internal_message( Window, Msg, wParam, 
lParam );
            if (uResult) *uResult = Result;
-           RETURN( TRUE);
+           Ret = TRUE;
+           goto Cleanup;
         }
 
         // Only happens when calling the client!
@@ -1523,7 +1524,7 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
            if (IoGetRemainingStackSize() < PAGE_SIZE)
            {
               ERR("Server Callback Exceeded Stack!\n");
-              RETURN( FALSE);
+              goto Cleanup; // Return FALSE
            }
            /* Return after server side call, IntCallWndProcRet will not be 
called. */
            switch(Window->fnid)
@@ -1541,7 +1542,8 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
            if (!DoCallBack)
            {
               if (uResult) *uResult = Result;
-              RETURN( TRUE);
+              Ret = TRUE;
+              goto Cleanup;
            }
         }
         /* See if this message type is present in the table */
@@ -1560,7 +1562,7 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
         if (! NT_SUCCESS(PackParam(&lParamPacked, Msg, wParam, lParam, FALSE)))
         {
            ERR("Failed to pack message parameters\n");
-           RETURN( FALSE);
+           goto Cleanup; // Return FALSE
         }
 
         Result = (ULONG_PTR)co_IntCallWindowProc( Window->lpfnWndProc,
@@ -1578,20 +1580,22 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
         if (! NT_SUCCESS(UnpackParam(lParamPacked, Msg, wParam, lParam, 
FALSE)))
         {
             ERR("Failed to unpack message parameters\n");
-            RETURN( TRUE);
+            Ret = TRUE;
+            goto Cleanup;
         }
 
         // Only happens when calling the client!
         IntCallWndProcRet( Window, hWnd, Msg, wParam, lParam, (LRESULT 
*)uResult);
 
-        RETURN( TRUE);
+        Ret = TRUE;
+        goto Cleanup;
     }
 
     if (Window->state & WNDS_DESTROYED)
     {
         /* FIXME: Last error? */
         ERR("Attempted to send message to window %p that is being 
destroyed!\n", hWnd);
-        RETURN( FALSE);
+        goto Cleanup; // Return FALSE
     }
 
     if ((uFlags & SMTO_ABORTIFHUNG) && MsqIsHung(ptiSendTo, 4 * MSQ_HUNG))
@@ -1599,7 +1603,7 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
         // FIXME: Set window hung and add to a list.
         /* FIXME: Set a LastError? */
         ERR("Window %p (%p) (pti %p) is hung!\n", hWnd, Window, ptiSendTo);
-        RETURN( FALSE);
+        goto Cleanup; // Return FALSE
     }
 
     do
@@ -1634,19 +1638,19 @@ co_IntSendMessageTimeoutSingle( HWND hWnd,
  *  returns ERROR_TIMEOUT, then the function timed out.
  */
         EngSetLastError(ERROR_TIMEOUT);
-        RETURN( FALSE);
+        goto Cleanup; // Return FALSE
     }
     else if (!NT_SUCCESS(Status))
     {
         SetLastNtError(Status);
-        RETURN( FALSE);
+        goto Cleanup; // Return FALSE
     }
 
-    RETURN( TRUE);
+    Ret = TRUE;
 
-CLEANUP:
-    if (Window) UserDerefObjectCo(Window);
-    END_CLEANUP;
+Cleanup:
+    UserDerefObjectCo(Window);
+    return Ret;
 }
 
 LRESULT FASTCALL
@@ -1737,12 +1741,12 @@ co_IntSendMessageWithCallBack(HWND hWnd,
                               ULONG_PTR *uResult)
 {
     ULONG_PTR Result;
-    PWND Window = NULL;
+    PWND Window;
     PMSGMEMORY MsgMemoryEntry;
     INT lParamBufferSize;
     LPARAM lParamPacked;
     PTHREADINFO Win32Thread, ptiSendTo = NULL;
-    DECLARE_RETURN(LRESULT);
+    LRESULT Ret = FALSE;
     USER_REFERENCE_ENTRY Ref;
     PUSER_SENT_MESSAGE Message;
     BOOL DoCallBack = TRUE;
@@ -1750,7 +1754,7 @@ co_IntSendMessageWithCallBack(HWND hWnd,
     if (!(Window = UserGetWindowObject(hWnd)))
     {
         TRACE("SendMessageWithCallBack: Invalid handle 0x%p\n",hWnd);
-        RETURN(FALSE);
+        return FALSE;
     }
 
     UserRefObjectCo(Window, &Ref);
@@ -1759,25 +1763,27 @@ co_IntSendMessageWithCallBack(HWND hWnd,
     {
         /* FIXME: last error? */
         ERR("Attempted to send message to window %p that is being 
destroyed\n", hWnd);
-        RETURN(FALSE);
+        goto Cleanup; // Return FALSE
     }
 
     Win32Thread = PsGetCurrentThreadWin32Thread();
 
     if (Win32Thread == NULL || Win32Thread->TIF_flags & TIF_INCLEANUP)
-        RETURN(FALSE);
+        goto Cleanup; // Return FALSE
 
     ptiSendTo = IntSendTo(Window, Win32Thread, Msg);
 
     if (Msg & 0x80000000 &&
         !ptiSendTo)
     {
-        if (Win32Thread->TIF_flags & TIF_INCLEANUP) RETURN(FALSE);
+        if (Win32Thread->TIF_flags & TIF_INCLEANUP)
+            goto Cleanup; // Return FALSE
 
         TRACE("SMWCB: Internal Message\n");
         Result = (ULONG_PTR)handle_internal_message(Window, Msg, wParam, 
lParam);
         if (uResult) *uResult = Result;
-        RETURN(TRUE);
+        Ret = TRUE;
+        goto Cleanup;
     }
 
     /* See if this message type is present in the table */
@@ -1795,7 +1801,7 @@ co_IntSendMessageWithCallBack(HWND hWnd,
     if (!NT_SUCCESS(PackParam(&lParamPacked, Msg, wParam, lParam, 
!!ptiSendTo)))
     {
         ERR("Failed to pack message parameters\n");
-        RETURN(FALSE);
+        goto Cleanup; // Return FALSE
     }
 
     /* If it can be sent now, then send it. */
@@ -1805,7 +1811,7 @@ co_IntSendMessageWithCallBack(HWND hWnd,
         {
             UnpackParam(lParamPacked, Msg, wParam, lParam, FALSE);
             /* Never send messages to exiting threads */
-            RETURN(FALSE);
+            goto Cleanup; // Return FALSE
         }
 
         IntCallWndProc(Window, hWnd, Msg, wParam, lParam);
@@ -1858,13 +1864,14 @@ co_IntSendMessageWithCallBack(HWND hWnd,
         {
             ERR("Failed to unpack message parameters\n");
         }
-        RETURN(TRUE);
+        Ret = TRUE;
+        goto Cleanup;
     }
 
     if(!(Message = AllocateUserMessage(FALSE)))
     {
         ERR("Failed to allocate message\n");
-        RETURN(FALSE);
+        goto Cleanup; // Return FALSE
     }
 
     Message->Msg.hwnd = hWnd;
@@ -1890,11 +1897,11 @@ co_IntSendMessageWithCallBack(HWND hWnd,
         InsertTailList(&ptiSendTo->SentMessagesListHead, &Message->ListEntry);
     MsqWakeQueue(ptiSendTo, QS_SENDMESSAGE, TRUE);
 
-    RETURN(TRUE);
+    Ret = TRUE;
 
-CLEANUP:
-    if (Window) UserDerefObjectCo(Window);
-    END_CLEANUP;
+Cleanup:
+    UserDerefObjectCo(Window);
+    return Ret;
 }
 
 #if 0
@@ -2156,7 +2163,7 @@ NtUserDragDetect(
     MSG msg;
     RECT rect;
     ULONG wDragWidth, wDragHeight;
-    DECLARE_RETURN(BOOL);
+    BOOL Ret = FALSE;
 
     TRACE("Enter NtUserDragDetect(%p)\n", hWnd);
     UserEnterExclusive();
@@ -2181,7 +2188,7 @@ NtUserDragDetect(
             if ( msg.message == WM_LBUTTONUP )
             {
                 co_UserSetCapture(NULL);
-                RETURN( FALSE);
+                goto Exit; // Return FALSE
             }
             if ( msg.message == WM_MOUSEMOVE )
             {
@@ -2191,7 +2198,8 @@ NtUserDragDetect(
                 if( !RECTL_bPointInRect( &rect, tmp.x, tmp.y ) )
                 {
                     co_UserSetCapture(NULL);
-                    RETURN( TRUE);
+                    Ret = TRUE;
+                    goto Exit;
                 }
             }
             if ( msg.message == WM_KEYDOWN )
@@ -2199,7 +2207,8 @@ NtUserDragDetect(
                 if ( msg.wParam == VK_ESCAPE )
                 {
                    co_UserSetCapture(NULL);
-                   RETURN( TRUE);
+                   Ret = TRUE;
+                   goto Exit;
                 }
             }
             if ( msg.message == WM_QUEUESYNC )
@@ -2209,12 +2218,11 @@ NtUserDragDetect(
         }
         co_IntWaitMessage(NULL, 0, 0);
     }
-    RETURN( FALSE);
 
-CLEANUP:
-   TRACE("Leave NtUserDragDetect, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserDragDetect, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 BOOL APIENTRY
diff --git a/win32ss/user/ntuser/misc.c b/win32ss/user/ntuser/misc.c
index b5b0f27ac0a..b1da3935d67 100644
--- a/win32ss/user/ntuser/misc.c
+++ b/win32ss/user/ntuser/misc.c
@@ -410,8 +410,7 @@ NtUserGetGUIThreadInfo(
    PDESKTOP Desktop;
    PUSER_MESSAGE_QUEUE MsgQueue;
    PTHREADINFO W32Thread, pti;
-
-   DECLARE_RETURN(BOOLEAN);
+   BOOL Ret = FALSE;
 
    TRACE("Enter NtUserGetGUIThreadInfo\n");
    UserEnterShared();
@@ -420,13 +419,13 @@ NtUserGetGUIThreadInfo(
    if(!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    if(SafeGui.cbSize != sizeof(GUITHREADINFO))
    {
       EngSetLastError(ERROR_INVALID_PARAMETER);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    if (idThread)
@@ -439,7 +438,7 @@ NtUserGetGUIThreadInfo(
       if ( !W32Thread )
       {
           EngSetLastError(ERROR_ACCESS_DENIED);
-          RETURN( FALSE);
+          goto Exit; // Return FALSE
       }
 
       Desktop = W32Thread->rpdesk;
@@ -448,7 +447,7 @@ NtUserGetGUIThreadInfo(
       if ( !Desktop || Desktop != pti->rpdesk )
       {
           EngSetLastError(ERROR_ACCESS_DENIED);
-          RETURN( FALSE);
+          goto Exit; // Return FALSE
       }
 
       if ( W32Thread->MessageQueue )
@@ -465,7 +464,7 @@ NtUserGetGUIThreadInfo(
       if(!MsgQueue)
       {
         EngSetLastError(ERROR_ACCESS_DENIED);
-        RETURN( FALSE);
+        goto Exit; // Return FALSE
       }
    }
 
@@ -518,15 +517,15 @@ NtUserGetGUIThreadInfo(
    if(!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
-   RETURN( TRUE);
+   Ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserGetGUIThreadInfo, ret=%u\n",_ret_);
+Exit:
+   TRACE("Leave NtUserGetGUIThreadInfo, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 
@@ -540,7 +539,6 @@ NtUserGetGuiResources(
    PPROCESSINFO W32Process;
    NTSTATUS Status;
    DWORD Ret = 0;
-   DECLARE_RETURN(DWORD);
 
    TRACE("Enter NtUserGetGuiResources\n");
    UserEnterShared();
@@ -555,7 +553,7 @@ NtUserGetGuiResources(
    if(!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN( 0);
+      goto Exit; // Return 0
    }
 
    W32Process = (PPROCESSINFO)Process->Win32Process;
@@ -563,7 +561,7 @@ NtUserGetGuiResources(
    {
       ObDereferenceObject(Process);
       EngSetLastError(ERROR_INVALID_PARAMETER);
-      RETURN( 0);
+      goto Exit; // Return 0
    }
 
    switch(uiFlags)
@@ -587,12 +585,10 @@ NtUserGetGuiResources(
 
    ObDereferenceObject(Process);
 
-   RETURN( Ret);
-
-CLEANUP:
-   TRACE("Leave NtUserGetGuiResources, ret=%lu\n",_ret_);
+Exit:
+   TRACE("Leave NtUserGetGuiResources, ret=%lu\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 VOID FASTCALL
diff --git a/win32ss/user/ntuser/ntuser.h b/win32ss/user/ntuser/ntuser.h
index 7c878c4f793..28b9ac6e59c 100644
--- a/win32ss/user/ntuser/ntuser.h
+++ b/win32ss/user/ntuser/ntuser.h
@@ -1,10 +1,5 @@
 #pragma once
 
-#define DECLARE_RETURN(type) type _ret_
-#define RETURN(value) { _ret_ = value; goto _cleanup_; }
-#define CLEANUP /*unreachable*/ ASSERT(FALSE); _cleanup_
-#define END_CLEANUP return _ret_;
-
 #define UserEnterCo UserEnterExclusive
 #define UserLeaveCo UserLeave
 
diff --git a/win32ss/user/ntuser/object.c b/win32ss/user/ntuser/object.c
index d0b4b4cf364..36be69bedd4 100644
--- a/win32ss/user/ntuser/object.c
+++ b/win32ss/user/ntuser/object.c
@@ -795,14 +795,14 @@ NtUserValidateHandleSecure(
    UINT uType;
    PPROCESSINFO ppi;
    PUSER_HANDLE_ENTRY entry;
+   BOOL Ret = FALSE;
 
-   DECLARE_RETURN(BOOL);
    UserEnterExclusive();
 
    if (!(entry = handle_to_entry(gHandleTable, handle )))
    {
       EngSetLastError(ERROR_INVALID_HANDLE);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
    uType = entry->type;
    switch (uType)
@@ -824,16 +824,15 @@ NtUserValidateHandleSecure(
           break;
    }
 
-   if (!ppi) RETURN( FALSE);
+   if (!ppi)
+       goto Exit; // Return FALSE
 
    // Same process job returns TRUE.
-   if (gptiCurrent->ppi->pW32Job == ppi->pW32Job) RETURN( TRUE);
+   if (gptiCurrent->ppi->pW32Job == ppi->pW32Job) Ret = TRUE;
 
-   RETURN( FALSE);
-
-CLEANUP:
+Exit:
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 // Win: HMAssignmentLock
diff --git a/win32ss/user/ntuser/painting.c b/win32ss/user/ntuser/painting.c
index 57e006b7312..a79a631fbd1 100644
--- a/win32ss/user/ntuser/painting.c
+++ b/win32ss/user/ntuser/painting.c
@@ -1607,19 +1607,19 @@ IntFillWindow(PWND pWndParent,
 HDC APIENTRY
 NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* UnsafePs)
 {
-   PWND Window = NULL;
+   PWND Window;
    PAINTSTRUCT Ps;
    NTSTATUS Status;
    HDC hDC;
    USER_REFERENCE_ENTRY Ref;
-   DECLARE_RETURN(HDC);
+   HDC Ret = NULL;
 
    TRACE("Enter NtUserBeginPaint\n");
    UserEnterExclusive();
 
    if (!(Window = UserGetWindowObject(hWnd)))
    {
-      RETURN( NULL);
+      goto Cleanup; // Return NULL
    }
 
    UserRefObjectCo(Window, &Ref);
@@ -1630,18 +1630,17 @@ NtUserBeginPaint(HWND hWnd, PAINTSTRUCT* UnsafePs)
    if (! NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN(NULL);
+      goto Cleanup; // Return NULL
    }
 
-   RETURN(hDC);
+   Ret = hDC;
 
-CLEANUP:
+Cleanup:
    if (Window) UserDerefObjectCo(Window);
 
-   TRACE("Leave NtUserBeginPaint, ret=%p\n",_ret_);
+   TRACE("Leave NtUserBeginPaint, ret=%p\n", Ret);
    UserLeave();
-   END_CLEANUP;
-
+   return Ret;
 }
 
 /*
@@ -1655,17 +1654,17 @@ BOOL APIENTRY
 NtUserEndPaint(HWND hWnd, CONST PAINTSTRUCT* pUnsafePs)
 {
    NTSTATUS Status = STATUS_SUCCESS;
-   PWND Window = NULL;
+   PWND Window;
    PAINTSTRUCT Ps;
    USER_REFERENCE_ENTRY Ref;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
 
    TRACE("Enter NtUserEndPaint\n");
    UserEnterExclusive();
 
    if (!(Window = UserGetWindowObject(hWnd)))
    {
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
    }
 
    UserRefObjectCo(Window, &Ref); // Here for the exception.
@@ -1682,17 +1681,17 @@ NtUserEndPaint(HWND hWnd, CONST PAINTSTRUCT* pUnsafePs)
    _SEH2_END
    if (!NT_SUCCESS(Status))
    {
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
    }
 
-   RETURN(IntEndPaint(Window, &Ps));
+   Ret = IntEndPaint(Window, &Ps);
 
-CLEANUP:
+Cleanup:
    if (Window) UserDerefObjectCo(Window);
 
-   TRACE("Leave NtUserEndPaint, ret=%i\n",_ret_);
+   TRACE("Leave NtUserEndPaint, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -1928,26 +1927,21 @@ co_UserGetUpdateRect(PWND Window, PRECT pRect, BOOL 
bErase)
 INT APIENTRY
 NtUserGetUpdateRgn(HWND hWnd, HRGN hRgn, BOOL bErase)
 {
-   DECLARE_RETURN(INT);
    PWND Window;
-   INT ret;
+   INT ret = ERROR;
 
    TRACE("Enter NtUserGetUpdateRgn\n");
    UserEnterExclusive();
 
-   if (!(Window = UserGetWindowObject(hWnd)))
+   Window = UserGetWindowObject(hWnd);
+   if (Window)
    {
-      RETURN(ERROR);
+      ret = co_UserGetUpdateRgn(Window, hRgn, bErase);
    }
 
-   ret = co_UserGetUpdateRgn(Window, hRgn, bErase);
-
-   RETURN(ret);
-
-CLEANUP:
-   TRACE("Leave NtUserGetUpdateRgn, ret=%i\n",_ret_);
+   TRACE("Leave NtUserGetUpdateRgn, ret=%i\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 /*
@@ -1963,15 +1957,14 @@ NtUserGetUpdateRect(HWND hWnd, LPRECT UnsafeRect, BOOL 
bErase)
    PWND Window;
    RECTL Rect;
    NTSTATUS Status;
-   BOOL Ret;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
 
    TRACE("Enter NtUserGetUpdateRect\n");
    UserEnterExclusive();
 
    if (!(Window = UserGetWindowObject(hWnd)))
    {
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    Ret = co_UserGetUpdateRect(Window, &Rect, bErase);
@@ -1982,16 +1975,14 @@ NtUserGetUpdateRect(HWND hWnd, LPRECT UnsafeRect, BOOL 
bErase)
       if (!NT_SUCCESS(Status))
       {
          EngSetLastError(ERROR_INVALID_PARAMETER);
-         RETURN(FALSE);
+         Ret = FALSE;
       }
    }
 
-   RETURN(Ret);
-
-CLEANUP:
-   TRACE("Leave NtUserGetUpdateRect, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserGetUpdateRect, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -2010,18 +2001,17 @@ NtUserRedrawWindow(
 {
    RECTL SafeUpdateRect;
    PWND Wnd;
-   BOOL Ret;
+   BOOL Ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
    NTSTATUS Status = STATUS_SUCCESS;
    PREGION RgnUpdate = NULL;
-   DECLARE_RETURN(BOOL);
 
    TRACE("Enter NtUserRedrawWindow\n");
    UserEnterExclusive();
 
    if (!(Wnd = UserGetWindowObject(hWnd ? hWnd : IntGetDesktopWindow())))
    {
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    if (lprcUpdate)
@@ -2039,7 +2029,7 @@ NtUserRedrawWindow(
       if (!NT_SUCCESS(Status))
       {
          EngSetLastError(RtlNtStatusToDosError(Status));
-         RETURN( FALSE);
+         goto Exit; // Return FALSE
       }
    }
 
@@ -2049,7 +2039,7 @@ NtUserRedrawWindow(
    {
       /* RedrawWindow fails only in case that flags are invalid */
       EngSetLastError(ERROR_INVALID_FLAGS);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    /* We can't hold lock on GDI objects while doing roundtrips to user mode,
@@ -2061,7 +2051,7 @@ NtUserRedrawWindow(
        if (!RgnUpdate)
        {
            EngSetLastError(ERROR_NOT_ENOUGH_MEMORY);
-           RETURN(FALSE);
+           goto Exit; // Return FALSE
        }
        REGION_UnlockRgn(RgnUpdate);
    }
@@ -2079,12 +2069,10 @@ NtUserRedrawWindow(
 
    UserDerefObjectCo(Wnd);
 
-   RETURN( Ret);
-
-CLEANUP:
-   TRACE("Leave NtUserRedrawWindow, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserRedrawWindow, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 BOOL
diff --git a/win32ss/user/ntuser/scrollbar.c b/win32ss/user/ntuser/scrollbar.c
index 63bb168ca34..0f1173bbd30 100644
--- a/win32ss/user/ntuser/scrollbar.c
+++ b/win32ss/user/ntuser/scrollbar.c
@@ -1144,8 +1144,7 @@ NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, 
PSCROLLBARINFO psbi)
    NTSTATUS Status;
    SCROLLBARINFO sbi;
    PWND Window;
-   BOOL Ret;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserGetScrollBarInfo\n");
@@ -1155,11 +1154,11 @@ NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, 
PSCROLLBARINFO psbi)
    if(!NT_SUCCESS(Status) || (sbi.cbSize != sizeof(SCROLLBARINFO)))
    {
       SetLastNtError(Status);
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if(!(Window = UserGetWindowObject(hWnd)))
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
 
    UserRefObjectCo(Window, &Ref);
    Ret = co_IntGetScrollBarInfo(Window, idObject, &sbi);
@@ -1172,12 +1171,10 @@ NtUserGetScrollBarInfo(HWND hWnd, LONG idObject, 
PSCROLLBARINFO psbi)
       Ret = FALSE;
    }
 
-   RETURN(Ret);
-
-CLEANUP:
-   TRACE("Leave NtUserGetScrollBarInfo, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserGetScrollBarInfo, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 BOOL
@@ -1190,9 +1187,8 @@ NtUserSBGetParms(
 {
    PWND Window;
    SCROLLINFO psi;
-   BOOL Ret;
+   BOOL Ret = FALSE;
    SBDATA SBDataSafe;
-   DECLARE_RETURN(BOOL);
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserGetScrollInfo\n");
@@ -1208,14 +1204,14 @@ NtUserSBGetParms(
    {
       ERR("NtUserGetScrollInfo Failed size\n");
       SetLastNtError(_SEH2_GetExceptionCode());
-      _SEH2_YIELD(RETURN(FALSE));
+      _SEH2_YIELD(goto Exit); // Return FALSE
    }
    _SEH2_END
 
    if(!(Window = UserGetWindowObject(hWnd)))
    {
       ERR("NtUserGetScrollInfo Bad window\n");
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    UserRefObjectCo(Window, &Ref);
@@ -1230,16 +1226,15 @@ NtUserSBGetParms(
    {
       ERR("NtUserGetScrollInfo Failed copy to user\n");
       SetLastNtError(_SEH2_GetExceptionCode());
-      _SEH2_YIELD(RETURN(FALSE));
+      Ret = FALSE;
+      _SEH2_YIELD(goto Exit);
    }
    _SEH2_END
 
-   RETURN(Ret);
-
-CLEANUP:
-   TRACE("Leave NtUserGetScrollInfo, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserGetScrollInfo, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 BOOL
@@ -1253,19 +1248,19 @@ NtUserEnableScrollBar(
    PWND Window = NULL;
    PSCROLLBARINFO InfoV = NULL, InfoH = NULL;
    BOOL Chg = FALSE;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserEnableScrollBar\n");
    UserEnterExclusive();
 
    if (!(Window = UserGetWindowObject(hWnd)) || UserIsDesktopWindow(Window) || 
UserIsMessageWindow(Window))
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
 
    UserRefObjectCo(Window, &Ref);
 
    if (!co_IntCreateScrollBars(Window))
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
 
    OrigArrows = Window->pSBInfo->WSBflags;
    Window->pSBInfo->WSBflags = wArrows;
@@ -1275,14 +1270,15 @@ NtUserEnableScrollBar(
       if ((wArrows == ESB_DISABLE_BOTH || wArrows == ESB_ENABLE_BOTH))
          IntEnableWindow(hWnd, (wArrows == ESB_ENABLE_BOTH));
 
-      RETURN(TRUE);
+      Ret = TRUE;
+      goto Cleanup;
    }
 
    if(wSBflags != SB_BOTH && !SBID_IS_VALID(wSBflags))
    {
       EngSetLastError(ERROR_INVALID_PARAMETER);
       ERR("Trying to set scrollinfo for unknown scrollbar type %u\n", 
wSBflags);
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
    }
 
    switch(wSBflags)
@@ -1297,7 +1293,7 @@ NtUserEnableScrollBar(
          InfoV = IntGetScrollbarInfoFromWindow(Window, SB_VERT);
          break;
       default:
-         RETURN(FALSE);
+         goto Cleanup; // Return FALSE
    }
 
    if(InfoV)
@@ -1310,17 +1306,24 @@ NtUserEnableScrollBar(
 // Done in user32:
 //   SCROLL_RefreshScrollBar(hwnd, nBar, TRUE, TRUE);
 
-   RETURN(Chg);
-   if (OrigArrows == wArrows) RETURN(FALSE);
-   RETURN(TRUE);
+   Ret = Chg;
+   goto Cleanup; // FIXME
+
+   if (OrigArrows == wArrows)
+   {
+      Ret = FALSE;
+      goto Cleanup;
+   }
+
+   Ret = TRUE;
 
-CLEANUP:
+Cleanup:
    if (Window)
       UserDerefObjectCo(Window);
 
-   TRACE("Leave NtUserEnableScrollBar, ret=%i\n",_ret_);
+   TRACE("Leave NtUserEnableScrollBar, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 DWORD
@@ -1334,14 +1337,14 @@ NtUserSetScrollInfo(
    PWND Window = NULL;
    NTSTATUS Status;
    SCROLLINFO ScrollInfo;
-   DECLARE_RETURN(DWORD);
+   DWORD Ret = 0;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserSetScrollInfo\n");
    UserEnterExclusive();
 
    if(!(Window = UserGetWindowObject(hWnd)) || UserIsDesktopWindow(Window) || 
UserIsMessageWindow(Window))
-      RETURN(0);
+      goto Cleanup; // Return 0
 
    UserRefObjectCo(Window, &Ref);
 
@@ -1349,45 +1352,42 @@ NtUserSetScrollInfo(
    if(!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN(0);
+      goto Cleanup; // Return 0
    }
 
-   RETURN(co_IntSetScrollInfo(Window, fnBar, &ScrollInfo, bRedraw));
+   Ret = co_IntSetScrollInfo(Window, fnBar, &ScrollInfo, bRedraw);
 
-CLEANUP:
+Cleanup:
    if (Window)
       UserDerefObjectCo(Window);
 
-   TRACE("Leave NtUserSetScrollInfo, ret=%lu\n", _ret_);
+   TRACE("Leave NtUserSetScrollInfo, ret=%lu\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 DWORD APIENTRY
 NtUserShowScrollBar(HWND hWnd, int nBar, DWORD bShow)
 {
    PWND Window;
-   DECLARE_RETURN(DWORD);
-   DWORD ret;
+   DWORD ret = 0;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserShowScrollBar\n");
    UserEnterExclusive();
 
-   if (!(Window = UserGetWindowObject(hWnd)))
-      RETURN(0);
-
-   UserRefObjectCo(Window, &Ref);
-   ret = co_UserShowScrollBar(Window, nBar, (nBar == SB_VERT) ? 0 : bShow,
-                                            (nBar == SB_HORZ) ? 0 : bShow);
-   UserDerefObjectCo(Window);
-
-   RETURN(ret);
+   Window = UserGetWindowObject(hWnd);
+   if (Window)
+   {
+      UserRefObjectCo(Window, &Ref);
+      ret = co_UserShowScrollBar(Window, nBar, (nBar == SB_VERT) ? 0 : bShow,
+                                               (nBar == SB_HORZ) ? 0 : bShow);
+      UserDerefObjectCo(Window);
+   }
 
-CLEANUP:
-   TRACE("Leave NtUserShowScrollBar, ret%lu\n", _ret_);
+   TRACE("Leave NtUserShowScrollBar, ret=%lu\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 // Ugly NtUser API
@@ -1405,14 +1405,14 @@ NtUserSetScrollBarInfo(
    LPSCROLLINFO psi;
    NTSTATUS Status;
    LONG Obj;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserSetScrollBarInfo\n");
    UserEnterExclusive();
 
    if(!(Window = UserGetWindowObject(hWnd)))
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
 
    UserRefObjectCo(Window, &Ref);
 
@@ -1421,17 +1421,17 @@ NtUserSetScrollBarInfo(
    {
       EngSetLastError(ERROR_INVALID_PARAMETER);
       ERR("Trying to set scrollinfo for unknown scrollbar type %d\n", Obj);
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
    }
 
    if(!co_IntCreateScrollBars(Window))
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
 
    Status = MmCopyFromCaller(&Safeinfo, info, sizeof(SETSCROLLBARINFO));
    if(!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN(FALSE);
+      goto Cleanup; // Return FALSE
    }
 
    sbi = IntGetScrollbarInfoFromWindow(Window, Obj);
@@ -1441,15 +1441,15 @@ NtUserSetScrollBarInfo(
    sbi->reserved = Safeinfo.reserved;
    RtlCopyMemory(&sbi->rgstate, &Safeinfo.rgstate, sizeof(Safeinfo.rgstate));
 
-   RETURN(TRUE);
+   Ret = TRUE;
 
-CLEANUP:
+Cleanup:
    if (Window)
       UserDerefObjectCo(Window);
 
-   TRACE("Leave NtUserSetScrollBarInfo, ret=%i\n",_ret_);
+   TRACE("Leave NtUserSetScrollBarInfo, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /* EOF */
diff --git a/win32ss/user/ntuser/scrollex.c b/win32ss/user/ntuser/scrollex.c
index 82f248ec367..32370fabfc8 100644
--- a/win32ss/user/ntuser/scrollex.c
+++ b/win32ss/user/ntuser/scrollex.c
@@ -481,7 +481,7 @@ NtUserScrollDC(
    HRGN hrgnUpdate,
    LPRECT prcUnsafeUpdate)
 {
-   DECLARE_RETURN(DWORD);
+   BOOL Ret = FALSE;
    DWORD Result;
    NTSTATUS Status = STATUS_SUCCESS;
    RECTL rcScroll, rcClip, rcUpdate;
@@ -515,7 +515,7 @@ NtUserScrollDC(
    if (!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    Result = UserScrollDC( hDC,
@@ -529,7 +529,7 @@ NtUserScrollDC(
    if(Result == ERROR)
    {
       /* FIXME: Only if hRgnUpdate is invalid we should 
SetLastError(ERROR_INVALID_HANDLE) */
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if (prcUnsafeUpdate)
@@ -548,16 +548,16 @@ NtUserScrollDC(
       {
          /* FIXME: SetLastError? */
          /* FIXME: correct? We have already scrolled! */
-         RETURN(FALSE);
+         goto Exit; // Return FALSE
       }
    }
 
-   RETURN(TRUE);
+   Ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserScrollDC, ret=%lu\n",_ret_);
+Exit:
+   TRACE("Leave NtUserScrollDC, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -578,8 +578,7 @@ NtUserScrollWindowEx(
    LPRECT prcUnsafeUpdate,
    UINT flags)
 {
-   DECLARE_RETURN(DWORD);
-   INT Result;
+   DWORD Result = ERROR;
    NTSTATUS Status = STATUS_SUCCESS;
    PWND Window = NULL;
    RECTL rcScroll, rcClip, rcUpdate;
@@ -592,7 +591,7 @@ NtUserScrollWindowEx(
    if (!Window || !IntIsWindowDrawable(Window))
    {
       Window = NULL; /* prevent deref at cleanup */
-      RETURN(ERROR);
+      goto Cleanup; // Return ERROR
    }
    UserRefObjectCo(Window, &Ref);
 
@@ -619,7 +618,7 @@ NtUserScrollWindowEx(
    if (!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN(ERROR);
+      goto Cleanup; // Return ERROR
    }
 
    Result = IntScrollWindowEx(Window,
@@ -647,19 +646,17 @@ NtUserScrollWindowEx(
       if (!NT_SUCCESS(Status))
       {
          SetLastNtError(Status);
-         RETURN(ERROR);
+         Result = ERROR;
       }
    }
 
-   RETURN(Result);
-
-CLEANUP:
+Cleanup:
    if (Window)
       UserDerefObjectCo(Window);
 
-   TRACE("Leave NtUserScrollWindowEx, ret=%lu\n",_ret_);
+   TRACE("Leave NtUserScrollWindowEx, ret=%lu\n", Result);
    UserLeave();
-   END_CLEANUP;
+   return Result;
 }
 
 /* EOF */
diff --git a/win32ss/user/ntuser/windc.c b/win32ss/user/ntuser/windc.c
index 0f2d2781e30..40163ad443d 100644
--- a/win32ss/user/ntuser/windc.c
+++ b/win32ss/user/ntuser/windc.c
@@ -974,7 +974,7 @@ HDC APIENTRY
 NtUserGetDCEx(HWND hWnd OPTIONAL, HANDLE ClipRegion, ULONG Flags)
 {
   PWND Wnd=NULL;
-  DECLARE_RETURN(HDC);
+  HDC Ret = NULL;
 
   TRACE("Enter NtUserGetDCEx: hWnd %p, ClipRegion %p, Flags %x.\n",
       hWnd, ClipRegion, Flags);
@@ -982,14 +982,14 @@ NtUserGetDCEx(HWND hWnd OPTIONAL, HANDLE ClipRegion, 
ULONG Flags)
 
   if (hWnd && !(Wnd = UserGetWindowObject(hWnd)))
   {
-      RETURN(NULL);
+      goto Exit; // Return NULL
   }
-  RETURN( UserGetDCEx(Wnd, ClipRegion, Flags));
+  Ret = UserGetDCEx(Wnd, ClipRegion, Flags);
 
-CLEANUP:
-  TRACE("Leave NtUserGetDCEx, ret=%p\n", _ret_);
+Exit:
+  TRACE("Leave NtUserGetDCEx, ret=%p\n", Ret);
   UserLeave();
-  END_CLEANUP;
+  return Ret;
 }
 
 /*
diff --git a/win32ss/user/ntuser/winpos.c b/win32ss/user/ntuser/winpos.c
index 2ec319505d1..ccba1abcf9b 100644
--- a/win32ss/user/ntuser/winpos.c
+++ b/win32ss/user/ntuser/winpos.c
@@ -3392,21 +3392,21 @@ NtUserGetWindowPlacement(HWND hWnd,
    PWND Wnd;
    WINDOWPLACEMENT Safepl;
    NTSTATUS Status;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
 
    TRACE("Enter NtUserGetWindowPlacement\n");
    UserEnterShared();
 
    if (!(Wnd = UserGetWindowObject(hWnd)))
    {
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    Status = MmCopyFromCaller(&Safepl, lpwndpl, sizeof(WINDOWPLACEMENT));
    if (!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    Safepl.length = sizeof(WINDOWPLACEMENT);
@@ -3417,15 +3417,15 @@ NtUserGetWindowPlacement(HWND hWnd,
    if (!NT_SUCCESS(Status))
    {
       SetLastNtError(Status);
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
-   RETURN( TRUE);
+   Ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserGetWindowPlacement, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserGetWindowPlacement, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 DWORD
@@ -3512,9 +3512,8 @@ NtUserSetWindowPos(
    int cy,
    UINT uFlags)
 {
-   DECLARE_RETURN(BOOL);
    PWND Window, pWndIA;
-   BOOL ret;
+   BOOL ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserSetWindowPos\n");
@@ -3524,7 +3523,7 @@ NtUserSetWindowPos(
         UserIsDesktopWindow(Window) || UserIsMessageWindow(Window))
    {
       ERR("NtUserSetWindowPos bad window handle!\n");
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if ( hWndInsertAfter != HWND_TOP &&
@@ -3536,7 +3535,7 @@ NtUserSetWindowPos(
             UserIsDesktopWindow(pWndIA) || UserIsMessageWindow(pWndIA))
       {
          ERR("NtUserSetWindowPos bad insert window handle!\n");
-         RETURN(FALSE);
+         goto Exit; // Return FALSE
       }
    }
 
@@ -3560,12 +3559,10 @@ NtUserSetWindowPos(
    ret = co_WinPosSetWindowPos(Window, hWndInsertAfter, X, Y, cx, cy, uFlags);
    UserDerefObjectCo(Window);
 
-   RETURN(ret);
-
-CLEANUP:
-   TRACE("Leave NtUserSetWindowPos, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserSetWindowPos, ret=%i\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 /*
@@ -3580,8 +3577,7 @@ NtUserSetWindowRgn(
    HRGN hrgnCopy = NULL;
    PWND Window;
    INT flags = 
(SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOSIZE|SWP_NOMOVE);
-   BOOLEAN Ret = FALSE;
-   DECLARE_RETURN(INT);
+   INT Ret = 0;
 
    TRACE("Enter NtUserSetWindowRgn\n");
    UserEnterExclusive();
@@ -3589,7 +3585,7 @@ NtUserSetWindowRgn(
    if (!(Window = UserGetWindowObject(hWnd)) ||
         UserIsDesktopWindow(Window) || UserIsMessageWindow(Window))
    {
-      RETURN( 0);
+      goto Exit; // Return 0
    }
 
    if (hRgn) // The region will be deleted in user32.
@@ -3602,7 +3598,7 @@ NtUserSetWindowRgn(
          NtGdiCombineRgn( hrgnCopy, hRgn, 0, RGN_COPY);
       }
       else
-         RETURN( 0);
+         goto Exit; // Return 0
    }
 
    //// HACK 1 : Work around the lack of supporting DeferWindowPos.
@@ -3615,14 +3611,12 @@ NtUserSetWindowRgn(
        Window->hrgnNewFrame = HRGN_WINDOW;
    }
    //// HACK 2
-   Ret = co_WinPosSetWindowPos(Window, HWND_TOP, 0, 0, 0, 0, bRedraw ? flags : 
(flags|SWP_NOREDRAW) );
-
-   RETURN( (INT)Ret);
+   Ret = (INT)co_WinPosSetWindowPos(Window, HWND_TOP, 0, 0, 0, 0, bRedraw ? 
flags : (flags | SWP_NOREDRAW));
 
-CLEANUP:
-   TRACE("Leave NtUserSetWindowRgn, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserSetWindowRgn, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -3640,7 +3634,7 @@ NtUserSetInternalWindowPos(
    PWND Wnd;
    RECT rect;
    POINT pt = {0};
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserSetWindowPlacement\n");
@@ -3649,7 +3643,7 @@ NtUserSetInternalWindowPos(
    if (!(Wnd = UserGetWindowObject(hwnd)) || // FIXME:
         UserIsDesktopWindow(Wnd) || UserIsMessageWindow(Wnd))
    {
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    _SEH2_TRY
@@ -3668,7 +3662,7 @@ NtUserSetInternalWindowPos(
    _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
    {
       SetLastNtError(_SEH2_GetExceptionCode());
-      _SEH2_YIELD(RETURN( FALSE));
+      _SEH2_YIELD(goto Exit); // Return FALSE
    }
    _SEH2_END
 
@@ -3691,12 +3685,12 @@ NtUserSetInternalWindowPos(
    UserRefObjectCo(Wnd, &Ref);
    IntSetWindowPlacement(Wnd, &wndpl, flags);
    UserDerefObjectCo(Wnd);
-   RETURN(TRUE);
+   Ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserSetWindowPlacement, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserSetWindowPlacement, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -3709,7 +3703,7 @@ NtUserSetWindowPlacement(HWND hWnd,
    PWND Wnd;
    WINDOWPLACEMENT Safepl;
    UINT Flags;
-   DECLARE_RETURN(BOOL);
+   BOOL Ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserSetWindowPlacement\n");
@@ -3718,7 +3712,7 @@ NtUserSetWindowPlacement(HWND hWnd,
    if (!(Wnd = UserGetWindowObject(hWnd)) ||
         UserIsDesktopWindow(Wnd) || UserIsMessageWindow(Wnd))
    {
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    _SEH2_TRY
@@ -3729,13 +3723,13 @@ NtUserSetWindowPlacement(HWND hWnd,
    _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
    {
       SetLastNtError(_SEH2_GetExceptionCode());
-      _SEH2_YIELD(RETURN( FALSE));
+      _SEH2_YIELD(goto Exit); // Return FALSE
    }
    _SEH2_END
 
    if(Safepl.length != sizeof(WINDOWPLACEMENT))
    {
-      RETURN( FALSE);
+      goto Exit; // Return FALSE
    }
 
    Flags = PLACE_MAX | PLACE_RECT;
@@ -3743,12 +3737,12 @@ NtUserSetWindowPlacement(HWND hWnd,
    UserRefObjectCo(Wnd, &Ref);
    IntSetWindowPlacement(Wnd, &Safepl, Flags);
    UserDerefObjectCo(Wnd);
-   RETURN(TRUE);
+   Ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserSetWindowPlacement, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserSetWindowPlacement, ret=%i\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /*
@@ -3758,8 +3752,8 @@ BOOL APIENTRY
 NtUserShowWindowAsync(HWND hWnd, LONG nCmdShow)
 {
    PWND Window;
-   BOOL ret;
-   DECLARE_RETURN(BOOL);
+   LRESULT Result;
+   BOOL ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserShowWindowAsync\n");
@@ -3768,26 +3762,24 @@ NtUserShowWindowAsync(HWND hWnd, LONG nCmdShow)
    if (!(Window = UserGetWindowObject(hWnd)) ||
         UserIsDesktopWindow(Window) || UserIsMessageWindow(Window))
    {
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if ( nCmdShow > SW_MAX )
    {
       EngSetLastError(ERROR_INVALID_PARAMETER);
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    UserRefObjectCo(Window, &Ref);
-   ret = co_IntSendMessageNoWait( hWnd, WM_ASYNC_SHOWWINDOW, nCmdShow, 0 );
+   Result = co_IntSendMessageNoWait( hWnd, WM_ASYNC_SHOWWINDOW, nCmdShow, 0 );
    UserDerefObjectCo(Window);
-   if (-1 == (int) ret || !ret) ret = FALSE;
-
-   RETURN(ret);
+   if (Result != -1 && Result != 0) ret = TRUE;
 
-CLEANUP:
-   TRACE("Leave NtUserShowWindowAsync, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserShowWindowAsync, ret=%i\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 /*
@@ -3797,8 +3789,7 @@ BOOL APIENTRY
 NtUserShowWindow(HWND hWnd, LONG nCmdShow)
 {
    PWND Window;
-   BOOL ret;
-   DECLARE_RETURN(BOOL);
+   BOOL ret = FALSE;
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserShowWindow hWnd %p SW_ %d\n",hWnd, nCmdShow);
@@ -3807,25 +3798,23 @@ NtUserShowWindow(HWND hWnd, LONG nCmdShow)
    if (!(Window = UserGetWindowObject(hWnd)) ||
         UserIsDesktopWindow(Window) || UserIsMessageWindow(Window))
    {
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    if ( nCmdShow > SW_MAX || Window->state2 & WNDS2_INDESTROY)
    {
       EngSetLastError(ERROR_INVALID_PARAMETER);
-      RETURN(FALSE);
+      goto Exit; // Return FALSE
    }
 
    UserRefObjectCo(Window, &Ref);
    ret = co_WinPosShowWindow(Window, nCmdShow);
    UserDerefObjectCo(Window);
 
-   RETURN(ret);
-
-CLEANUP:
-   TRACE("Leave NtUserShowWindow, ret=%i\n",_ret_);
+Exit:
+   TRACE("Leave NtUserShowWindow, ret=%i\n", ret);
    UserLeave();
-   END_CLEANUP;
+   return ret;
 }
 
 
@@ -3836,10 +3825,9 @@ HWND APIENTRY
 NtUserWindowFromPoint(LONG X, LONG Y)
 {
    POINT pt;
-   HWND Ret;
-   PWND DesktopWindow = NULL, Window = NULL;
+   HWND Ret = NULL;
+   PWND DesktopWindow, Window;
    USHORT hittest;
-   DECLARE_RETURN(HWND);
    USER_REFERENCE_ENTRY Ref;
 
    TRACE("Enter NtUserWindowFromPoint\n");
@@ -3858,23 +3846,17 @@ NtUserWindowFromPoint(LONG X, LONG Y)
 
       //pti = PsGetCurrentThreadWin32Thread();
       Window = co_WinPosWindowFromPoint(DesktopWindow, &pt, &hittest, FALSE);
-
       if (Window)
       {
          Ret = UserHMGetHandle(Window);
-
-         RETURN( Ret);
       }
-   }
-
-   RETURN( NULL);
 
-CLEANUP:
-   if (DesktopWindow) UserDerefObjectCo(DesktopWindow);
+      UserDerefObjectCo(DesktopWindow);
+   }
 
-   TRACE("Leave NtUserWindowFromPoint, ret=%p\n", _ret_);
+   TRACE("Leave NtUserWindowFromPoint, ret=%p\n", Ret);
    UserLeave();
-   END_CLEANUP;
+   return Ret;
 }
 
 /* EOF */

Reply via email to