diff --git a/include/hack.h b/include/hack.h index 49f4915dd..9bf619c8f 100644 --- a/include/hack.h +++ b/include/hack.h @@ -319,4 +319,14 @@ NEARDATA extern coord bhitpos; /* place where throw or zap hits or stops */ # define STATIC_PTR static #endif +/* The function argument to qsort() requires a particular + * calling convention under WINCE which is not the default + * in that environment. + */ +#if defined(WIN_CE) +# define CFDECLSPEC __cdecl +#else +# define CFDECLSPEC +#endif + #endif /* HACK_H */ diff --git a/src/mklev.c b/src/mklev.c index dfcc739be..de12c110d 100644 --- a/src/mklev.c +++ b/src/mklev.c @@ -35,7 +35,7 @@ STATIC_DCL boolean FDECL(place_niche,(struct mkroom *,int*,int*,int*)); STATIC_DCL void FDECL(makeniche,(int)); STATIC_DCL void NDECL(make_niches); -STATIC_PTR int FDECL(do_comp,(const genericptr,const genericptr)); +STATIC_PTR int FDECL( CFDECLSPEC do_comp,(const genericptr,const genericptr)); STATIC_DCL void FDECL(dosdoor,(XCHAR_P,XCHAR_P,struct mkroom *,int)); STATIC_DCL void FDECL(join,(int,int,BOOLEAN_P)); @@ -56,7 +56,7 @@ static boolean made_branch; /* used only during level creation */ /* Args must be (const genericptr) so that qsort will always be happy. */ STATIC_PTR int -do_comp(vx,vy) +CFDECLSPEC do_comp(vx,vy) const genericptr vx; const genericptr vy; {