|
- #ifndef __COMMON_H__
- #define __COMMON_H__
-
- #define _SELF (DATA_PTR(self))
-
- #define get_singleton_double_list(x) \
- static VALUE x##_list(void) \
- { \
- VALUE ary, ary2; \
- char const* const* list; \
- \
- list = caca_get_##x##_list(); \
- ary = rb_ary_new(); \
- while (*list != NULL) \
- { \
- ary2 = rb_ary_new(); \
- rb_ary_push(ary2, rb_str_new2(*list)); \
- list++; \
- rb_ary_push(ary2, rb_str_new2(*list)); \
- list++; \
- rb_ary_push(ary, ary2); \
- } \
- \
- return ary; \
- }
-
- #define get_double_list(x) \
- static VALUE x##_list(VALUE self) \
- { \
- VALUE ary, ary2; \
- char const* const* list; \
- \
- list = caca_get_##x##_list(_SELF); \
- ary = rb_ary_new(); \
- while (*list != NULL) \
- { \
- ary2 = rb_ary_new(); \
- rb_ary_push(ary2, rb_str_new2(*list)); \
- list++; \
- rb_ary_push(ary2, rb_str_new2(*list)); \
- list++; \
- rb_ary_push(ary, ary2); \
- } \
- \
- return ary; \
- }
-
- #endif
|