X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fwrapped.h;h=daaaa25404d07c95e32fd71f7e6d7a927e100353;hp=c68b26af49282a261c3fbccdb789d5c245a0f0aa;hb=6c94796ace41e3973a11126a2dec855e8591fb51;hpb=bb1fb0e88f7c608d9533e305722de0d34a4ff3c4 diff --git a/src/wrapped.h b/src/wrapped.h index c68b26a..daaaa25 100644 --- a/src/wrapped.h +++ b/src/wrapped.h @@ -38,9 +38,9 @@ PRED (SCM wrapped_obj); -static SCM wrapped_type; - #define DEFINE_WRAPPED_TYPE(TYPE, PRINT_NAME, INIT, PRED, WRAP, UNWRAP) \ + static SCM wrapped_##INIT; \ + \ void \ INIT (void) \ { \ @@ -51,27 +51,27 @@ static SCM wrapped_type; slots = scm_list_1 (scm_from_utf8_symbol ("data")); \ finalizer = NULL; \ \ - wrapped_type = \ + wrapped_##INIT = \ scm_make_foreign_object_type (name, slots, finalizer); \ } \ \ SCM \ WRAP (TYPE foreign_obj) \ { \ - return scm_make_foreign_object_1 (wrapped_type, foreign_obj); \ + return scm_make_foreign_object_1 (wrapped_##INIT, foreign_obj); \ } \ \ TYPE \ UNWRAP (SCM wrapped_obj) \ { \ - scm_assert_foreign_object_type (wrapped_type, wrapped_obj); \ + scm_assert_foreign_object_type (wrapped_##INIT, wrapped_obj); \ return (TYPE)scm_foreign_object_ref (wrapped_obj, 0); \ } \ \ bool \ PRED (SCM wrapped_obj) \ { \ - return SCM_IS_A_P (wrapped_obj, wrapped_type); \ + return SCM_IS_A_P (wrapped_obj, wrapped_##INIT); \ } #endif