From da4884e2d4ea78b39cfdea0a747f2b700ccedfbc Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 3 Dec 2004 03:25:29 +0000 Subject: [PATCH] * st.h: fix prototype for C++. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ intern.h | 4 ++-- st.h | 9 ++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9f9bbad274..7b27b597ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Dec 3 12:25:21 2004 Nobuyoshi Nakada + + * st.h: fix prototype for C++. + Fri Dec 3 01:55:24 2004 Hidetoshi NAGAI * ext/tk/lib/tk.rb: widget configuration by TkWindow#method_missing diff --git a/intern.h b/intern.h index 74df097ab5..ef2eaaecd5 100644 --- a/intern.h +++ b/intern.h @@ -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)); diff --git a/st.h b/st.h index 5f6cf991c3..bc12624b90 100644 --- a/st.h +++ b/st.h @@ -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));