-# ifdef __BORLANDC__
-
-# ifdef __WIN32__
- typedef int (pascal * WndProcCast) ();
-# define CASTWNDPROC (WndProcCast)
-// # define CASTWNDPROC
-# else
- typedef int (pascal * WndProcCast) ();
-# define CASTWNDPROC (WndProcCast)
-# endif
-
-# else
-# if defined (__WIN32__) && defined(STRICT)
- typedef long (_stdcall * WndProcCast) (HWND, unsigned int, unsigned int, long);
-# define CASTWNDPROC (WndProcCast)
-# elif defined(__WIN16__)
-# ifdef __BORLANDC__
- typedef int (pascal * WndProcCast) ();
-# define CASTWNDPROC (WndProcCast)
-# else
-# if defined(__VISUALC__) && defined(STRICT)
-# define CASTWNDPROC (WNDPROC)
-# else
- typedef int (PASCAL * WndProcCast) ();
-# define CASTWNDPROC (WndProcCast)
-# endif
-# endif
-# else
-# define CASTWNDPROC
-# endif
-# endif
-#endif
+ #if defined(STRICT) || defined(__GNUC__)
+ typedef WNDPROC WndProcCast;
+ #else
+ typedef FARPROC WndProcCast;
+ #endif
+ #define CASTWNDPROC (WndProcCast)
+#endif // __GNUWIN32_OLD__