summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-09 04:28:28 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-01-09 04:28:28 +0000
commite29b4b4862f4e3a6a727c407a711939f74124941 (patch)
treecdeb1de9e4fd0eaef632e596afee4c3bf164f4a2
parentc65638ce2944e020eac4e80eb760486001e47945 (diff)
* st.h, st.c: Back out the introduction of st_*_func_t. Some
compilers complain about function type mismatch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--st.c6
-rw-r--r--st.h14
3 files changed, 13 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index e4e0e8b8a2..9c6e8916de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jan 9 13:26:18 2003 Akinori MUSHA <knu@iDaemons.org>
+
+ * st.h, st.c: Back out the introduction of st_*_func_t. Some
+ compilers complain about function type mismatch.
+
Wed Jan 08 17:10:32 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/Win32API/lib/win32/registry.rb: added. [new]
diff --git a/st.c b/st.c
index d9e8be4970..1cc0e2f4d7 100644
--- a/st.c
+++ b/st.c
@@ -43,8 +43,8 @@ static struct st_hash_type type_numhash = {
/* extern int strcmp(const char *, const char *); */
static int strhash(const char *);
static struct st_hash_type type_strhash = {
- (st_compare_func_t)strcmp,
- (st_hash_func_t)strhash,
+ strcmp,
+ strhash,
};
#ifdef RUBY_PLATFORM
@@ -482,7 +482,7 @@ st_cleanup_safe(table, never)
void
st_foreach(table, func, arg)
st_table *table;
- st_each_func_t func;
+ int (*func)();
st_data_t arg;
{
st_table_entry *ptr, *last, *tmp;
diff --git a/st.h b/st.h
index 223f4f66e7..888ca50e4f 100644
--- a/st.h
+++ b/st.h
@@ -8,15 +8,11 @@
typedef long st_data_t;
-typedef int (*st_compare_func_t)(st_data_t data1, st_data_t data2);
-typedef int (*st_hash_func_t)(st_data_t data);
-typedef int (*st_each_func_t)(st_data_t key, st_data_t value, st_data_t data);
-
typedef struct st_table st_table;
struct st_hash_type {
- st_compare_func_t compare;
- st_hash_func_t hash;
+ int (*compare)();
+ int (*hash)();
};
struct st_table {
@@ -40,14 +36,14 @@ 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 *, st_each_func_t, st_data_t);
+void st_foreach(st_table *, int (*)(), 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);
st_table *st_copy(st_table *);
-#define ST_NUMCMP ((st_compare_func_t) 0)
-#define ST_NUMHASH ((st_hash_func_t) -2)
+#define ST_NUMCMP ((int (*)()) 0)
+#define ST_NUMHASH ((int (*)()) -2)
#define st_numcmp ST_NUMCMP
#define st_numhash ST_NUMHASH