Replaced most uses of the auto-generated glue code by explicit calls
to WOWCallback16Ex.

diff --git a/controls/edit.c b/controls/edit.c
index 37f9106..978914f 100644
--- a/controls/edit.c
+++ b/controls/edit.c
@@ -44,6 +44,7 @@
 
 #include "winbase.h"
 #include "winnt.h"
+#include "wownt32.h"
 #include "win.h"
 #include "wine/winbase16.h"
 #include "wine/winuser16.h"
@@ -1270,9 +1271,6 @@
  *		the string under examination (we can decide this for ourselves).
  *
  */
-/* ### start build ### */
-extern WORD CALLBACK EDIT_CallTo16_word_lwww(EDITWORDBREAKPROC16,SEGPTR,WORD,WORD,WORD);
-/* ### stop build ### */
 static INT EDIT_CallWordBreakProc(EDITSTATE *es, INT start, INT index, INT count, INT action)
 {
     INT ret, iWndsLocks;
@@ -1285,13 +1283,20 @@
 	    HGLOBAL16 hglob16;
 	    SEGPTR segptr;
 	    INT countA;
+            WORD args[5];
+            DWORD result;
 
 	    countA = WideCharToMultiByte(CP_ACP, 0, es->text + start, count, NULL, 0, NULL, NULL);
 	    hglob16 = GlobalAlloc16(GMEM_MOVEABLE | GMEM_ZEROINIT, countA);
 	    segptr = K32WOWGlobalLock16(hglob16);
 	    WideCharToMultiByte(CP_ACP, 0, es->text + start, count, MapSL(segptr), countA, NULL, NULL);
-	    ret = (INT)EDIT_CallTo16_word_lwww(es->word_break_proc16,
-						segptr, index, countA, action);
+            args[4] = SELECTOROF(segptr);
+            args[3] = OFFSETOF(segptr);
+            args[2] = index;
+            args[1] = countA;
+            args[0] = action;
+            WOWCallback16Ex((DWORD)es->word_break_proc16, WCB16_PASCAL, sizeof(args), args, &result);
+            ret = LOWORD(result);
 	    GlobalUnlock16(hglob16);
 	    GlobalFree16(hglob16);
 	}