Fixed Winelib compilation.

diff --git a/memory/instr.c b/memory/instr.c
index c586cf4..54162ea 100644
--- a/memory/instr.c
+++ b/memory/instr.c
@@ -43,9 +43,7 @@
      (PTR_SEG_OFF_TO_LIN(SS_sig(context),STACK_sig(context)))))
 
 /* For invalid registers fixup */
-extern DWORD CallFrom16_Start,CallFrom16_End;
-extern DWORD CALLTO16_Start,CALLTO16_End;
-
+int (*INSTR_IsRelay)( const void *addr ) = NULL;
 
 /***********************************************************************
  *           INSTR_ReplaceSelector
@@ -60,11 +58,8 @@
  */
 static BOOL INSTR_ReplaceSelector( SIGCONTEXT *context, WORD *sel )
 {
-    if ( IS_SELECTOR_SYSTEM(CS_sig(context)) )
-        if (    ( EIP_sig(context) >= (DWORD)&CallFrom16_Start &&
-                  EIP_sig(context) <  (DWORD)&CallFrom16_End )
-             || ( EIP_sig(context) >= (DWORD)&CALLTO16_Start &&
-                  EIP_sig(context) <  (DWORD)&CALLTO16_End ) )
+    if (IS_SELECTOR_SYSTEM(CS_sig(context)))
+        if (INSTR_IsRelay && INSTR_IsRelay( (void *)EIP_sig(context) ))
         {
             /* Saved selector may have become invalid when the relay code */
             /* tries to restore it. We simply clear it. */
diff --git a/miscemu/main.c b/miscemu/main.c
index c95d852..84f94ff 100644
--- a/miscemu/main.c
+++ b/miscemu/main.c
@@ -23,6 +23,18 @@
 static int MAIN_argc;
 static char **MAIN_argv;
 
+extern int (*INSTR_IsRelay)( const void *addr );
+
+static int is_relay_addr( const void *addr )
+{
+    extern char CallFrom16_Start, CallFrom16_End, CALLTO16_Start, CALLTO16_End;
+
+    return ((((char *)addr >= &CallFrom16_Start) &&
+             ((char *)addr < &CallFrom16_End)) ||
+            (((char *)addr >= &CALLTO16_Start) &&
+             ((char *)addr < &CALLTO16_End)));
+}
+
 /***********************************************************************
  *           Emulator initialisation
  */
@@ -141,6 +153,7 @@
     MAIN_argc = argc; MAIN_argv = argv;
 
     /* Set up debugger hook */
+    INSTR_IsRelay = is_relay_addr;
     EXC_SetDebugEventHook( wine_debugger );
 
     if (Options.debug) 
diff --git a/programs/clock/Wa.rc b/programs/clock/Wa.rc
index 2d00d0a..1ef7bdb 100644
--- a/programs/clock/Wa.rc
+++ b/programs/clock/Wa.rc
@@ -7,7 +7,7 @@
  */
 
 #define LANGUAGE_ID                  Wa
-#define LANGUAGE_NUMBER              0x90
+#define LANGUAGE_NUMBER              90
 
 
 /* System Menu */
diff --git a/programs/progman/Wa.rc b/programs/progman/Wa.rc
index cb5dfb4..bb0e7aa 100644
--- a/programs/progman/Wa.rc
+++ b/programs/progman/Wa.rc
@@ -6,7 +6,7 @@
  */
 
 #define LANGUAGE_ID                  Wa
-#define LANGUAGE_NUMBER              0x90
+#define LANGUAGE_NUMBER              90
 #define LANGUAGE_MENU_ITEM           "&Walon"
 
 /* Menu */
diff --git a/programs/winhelp/Wa.rc b/programs/winhelp/Wa.rc
index f1ff1ba..16a3810 100644
--- a/programs/winhelp/Wa.rc
+++ b/programs/winhelp/Wa.rc
@@ -8,7 +8,7 @@
 /* This file is not yet complete !! */
 
 #define LANGUAGE_ID                  Wa
-#define LANGUAGE_NUMBER              0x90
+#define LANGUAGE_NUMBER              90
 
 /* Menu */