- Don't rely on the default calling convention being cdecl for function pointers
authorStefan Ginsberg <stefanginsberg@gmail.com>
Thu, 6 Aug 2009 15:27:23 +0000 (15:27 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Thu, 6 Aug 2009 15:27:23 +0000 (15:27 +0000)
svn path=/trunk/; revision=42429

reactos/lib/sdk/crt/search/bsearch.c
reactos/lib/sdk/crt/search/lfind.c
reactos/lib/sdk/crt/search/lsearch.c
reactos/lib/sdk/crt/stdlib/qsort.c

index e1e4f11..9958ab4 100644 (file)
@@ -6,7 +6,7 @@
  */
 void *
 bsearch(const void *key, const void *base0, size_t nelem,
  */
 void *
 bsearch(const void *key, const void *base0, size_t nelem,
-       size_t size, int (*cmp)(const void *ck, const void *ce))
+       size_t size, int (__cdecl *cmp)(const void *ck, const void *ce))
 {
   char *base = (char *)base0;
   int lim, cmpval;
 {
   char *base = (char *)base0;
   int lim, cmpval;
index 7894fd1..bd2dcd7 100644 (file)
@@ -5,7 +5,7 @@
  * @implemented
  */
 void *_lfind(const void *key, const void *base, unsigned int *nelp,
  * @implemented
  */
 void *_lfind(const void *key, const void *base, unsigned int *nelp,
-         unsigned int width, int (*compar)(const void *, const void *))
+         unsigned int width, int (__cdecl *compar)(const void *, const void *))
 {
        char* char_base = (char*)base;
        unsigned int i;
 {
        char* char_base = (char*)base;
        unsigned int i;
index 053f9a3..fa46e91 100644 (file)
@@ -6,7 +6,7 @@
  * @implemented
  */
 void *_lsearch(const void *key, void *base, unsigned int *nelp, unsigned int width,
  * @implemented
  */
 void *_lsearch(const void *key, void *base, unsigned int *nelp, unsigned int width,
-         int (*compar)(const void *, const void *))
+         int (__cdecl *compar)(const void *, const void *))
 {
   void *ret_find = _lfind(key,base,nelp,width,compar);
 
 {
   void *ret_find = _lfind(key,base,nelp,width,compar);
 
index 3829e09..7635379 100644 (file)
@@ -50,7 +50,7 @@
  */
 
 static void
  */
 
 static void
-qst(size_t size, int (*compar)(const void*, const void*), char *base, char *max)
+qst(size_t size, int (__cdecl *compar)(const void*, const void*), char *base, char *max)
 {
   char c, *i, *j, *jj;
   int ii;
 {
   char c, *i, *j, *jj;
   int ii;
@@ -176,7 +176,7 @@ qst(size_t size, int (*compar)(const void*, const void*), char *base, char *max)
  * @implemented
  */
 void
  * @implemented
  */
 void
-qsort(void *base0, size_t n, size_t size, int (*compar)(const void*, const void*))
+qsort(void *base0, size_t n, size_t size, int (__cdecl *compar)(const void*, const void*))
 {
   char *base = (char *)base0;
   char c, *i, *j, *lo, *hi;
 {
   char *base = (char *)base0;
   char c, *i, *j, *lo, *hi;