[AD] LOCK_*() macros - fixes for C++ |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
Hi,These changes were discussed on allegro.cc a while ago, and Bob proposed a patch. I don't know what happened in between, but when I went to look at my CVS version of Allegro, I found the relevant modifications in there. Here's a patch. Basically it adds (void *) casts to the lock macros, on DJGPP and Mac where they don't expand to nothing.
Let me know if the patch is usable or if I did something wrong when creating it - and please apply it this time!
Ben --- Index: aldjgpp.h =================================================================== RCS file: /cvsroot/alleg/allegro/include/allegro/platform/aldjgpp.h,v retrieving revision 1.5 diff -u -r1.5 aldjgpp.h --- aldjgpp.h 9 Jul 2002 11:37:47 -0000 1.5 +++ aldjgpp.h 19 Jul 2002 16:15:54 -0000 @@ -42,11 +42,11 @@ #define END_OF_FUNCTION(x) void x##_end(void) { } #define END_OF_STATIC_FUNCTION(x) static void x##_end(void) { } -#define LOCK_DATA(d, s) _go32_dpmi_lock_data(d, s) -#define LOCK_CODE(c, s) _go32_dpmi_lock_code(c, s) -#define UNLOCK_DATA(d,s) _unlock_dpmi_data(d, s) +#define LOCK_DATA(d, s) _go32_dpmi_lock_data((void*)(d), s) +#define LOCK_CODE(c, s) _go32_dpmi_lock_code((void*)(c), s) +#define UNLOCK_DATA(d,s) _unlock_dpmi_data((void*)(d), s) #define LOCK_VARIABLE(x) LOCK_DATA((void *)&x, sizeof(x)) -#define LOCK_FUNCTION(x) LOCK_CODE(x, (long)x##_end - (long)x)+#define LOCK_FUNCTION(x) LOCK_CODE((void*)x, (long)x##_end - (long)x)
/* long filename status */ Index: almaccfg.h =================================================================== RCS file: /cvsroot/alleg/allegro/include/allegro/platform/almaccfg.h,v retrieving revision 1.3 diff -u -r1.3 almaccfg.h --- almaccfg.h 12 Apr 2002 13:45:32 -0000 1.3 +++ almaccfg.h 19 Jul 2002 16:16:02 -0000 @@ -46,11 +46,11 @@ #define END_OF_FUNCTION(x) void x##_end(void) { } #define END_OF_STATIC_FUNCTION(x) static void x##_end(void) { } -#define LOCK_DATA(d, s) _mac_lock(d, s) -#define LOCK_CODE(c, s) _mac_lock(c, s) -#define UNLOCK_DATA(d,s) _mac_unlock(d, s) +#define LOCK_DATA(d, s) _mac_lock((void*)(d), s) +#define LOCK_CODE(c, s) _mac_lock((void*)(c), s) +#define UNLOCK_DATA(d,s) _mac_unlock((void*)(d), s) #define LOCK_VARIABLE(x) LOCK_DATA((void *)&x, sizeof(x)) -#define LOCK_FUNCTION(x) LOCK_CODE(x, (long)x##_end - (long)x) +#define LOCK_FUNCTION(x) LOCK_CODE((void*)x, (long)x##_end - (long)x) /* long filename status */ #define ALLEGRO_LFN 0 _________________________________________________________________Join the world?s largest e-mail service with MSN Hotmail. http://www.hotmail.com
Attachment:
lock.diff.zip
Description: Zip compressed data
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |