diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | intern.h | 4 | ||||
-rw-r--r-- | st.h | 9 |
3 files changed, 14 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Fri Dec 3 12:25:21 2004 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * st.h: fix prototype for C++. + Fri Dec 3 01:55:24 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * ext/tk/lib/tk.rb: widget configuration by TkWindow#method_missing @@ -255,8 +255,8 @@ VALUE rb_gc_enable _((void)); VALUE rb_gc_disable _((void)); VALUE rb_gc_start _((void)); /* hash.c */ -void st_foreach_safe _((struct st_table *, int (*)(), unsigned long)); -void rb_hash_foreach _((VALUE, int (*)(), VALUE)); +void st_foreach_safe _((struct st_table *, int (*)(ANYARGS), unsigned long)); +void rb_hash_foreach _((VALUE, int (*)(ANYARGS), VALUE)); VALUE rb_hash _((VALUE)); VALUE rb_hash_new _((void)); VALUE rb_hash_freeze _((VALUE)); @@ -30,6 +30,13 @@ enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK}; #ifndef _ # define _(args) args #endif +#ifndef ANYARGS +# ifdef __cplusplus +# define ANYARGS ... +# else +# define ANYARGS +# endif +#endif st_table *st_init_table _((struct st_hash_type *)); st_table *st_init_table_with_size _((struct st_hash_type *, int)); @@ -41,7 +48,7 @@ int st_delete _((st_table *, st_data_t *, st_data_t *)); int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t)); int st_insert _((st_table *, st_data_t, st_data_t)); int st_lookup _((st_table *, st_data_t, st_data_t *)); -void st_foreach _((st_table *, int (*)(), st_data_t)); +void st_foreach _((st_table *, int (*)(ANYARGS), st_data_t)); void st_add_direct _((st_table *, st_data_t, st_data_t)); void st_free_table _((st_table *)); void st_cleanup_safe _((st_table *, st_data_t)); |