summaryrefslogtreecommitdiff
path: root/regparse.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-11-02 12:53:06 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-11-02 15:00:39 +0900
commit4218e913d8d1d1e4c2fb123348fd98721e2b0ba8 (patch)
tree7741699041de90aa40a0bde322087c69ddda0070 /regparse.c
parente34e8b93f8fac3ef40ab5ed8672fa003f3b4d9c0 (diff)
Fix functions for name tables as `st_foreach_callback_func`
Diffstat (limited to 'regparse.c')
-rw-r--r--regparse.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/regparse.c b/regparse.c
index e5796b2875..a8a7a0975a 100644
--- a/regparse.c
+++ b/regparse.c
@@ -476,8 +476,11 @@ typedef st_data_t HashDataType; /* 1.6 st.h doesn't define st_data_t type */
# ifdef ONIG_DEBUG
static int
-i_print_name_entry(UChar* key, NameEntry* e, void* arg)
+i_print_name_entry(HashDataType key_, HashDataType e_, HashDataType arg_)
{
+ UChar* key = (UChar *)key_;
+ NameEntry* e = (NameEntry *)e_;
+ void* arg = (void *)arg_;
int i;
FILE* fp = (FILE* )arg;
@@ -503,7 +506,7 @@ onig_print_names(FILE* fp, regex_t* reg)
if (IS_NOT_NULL(t)) {
fprintf(fp, "name table\n");
- onig_st_foreach(t, (st_foreach_callback_func *)i_print_name_entry, (HashDataType )fp);
+ onig_st_foreach(t, i_print_name_entry, (HashDataType )fp);
fputs("\n", fp);
}
return 0;
@@ -511,8 +514,10 @@ onig_print_names(FILE* fp, regex_t* reg)
# endif /* ONIG_DEBUG */
static int
-i_free_name_entry(UChar* key, NameEntry* e, void* arg ARG_UNUSED)
+i_free_name_entry(HashDataType key_, HashDataType e_, HashDataType arg_ ARG_UNUSED)
{
+ UChar* key = (UChar *)key_;
+ NameEntry* e = (NameEntry *)e_;
xfree(e->name);
xfree(e->back_refs);
xfree(key);
@@ -526,7 +531,7 @@ names_clear(regex_t* reg)
NameTable* t = (NameTable* )reg->name_table;
if (IS_NOT_NULL(t)) {
- onig_st_foreach(t, (st_foreach_callback_func *)i_free_name_entry, 0);
+ onig_st_foreach(t, i_free_name_entry, 0);
}
return 0;
}
@@ -568,8 +573,10 @@ typedef struct {
} INamesArg;
static int
-i_names(UChar* key ARG_UNUSED, NameEntry* e, INamesArg* arg)
+i_names(HashDataType key_ ARG_UNUSED, HashDataType e_, HashDataType arg_)
{
+ NameEntry* e = (NameEntry *)e_;
+ INamesArg* arg = (INamesArg *)arg_;
int r = (*(arg->func))(e->name,
e->name + e->name_len,
e->back_num,
@@ -595,14 +602,16 @@ onig_foreach_name(regex_t* reg,
narg.reg = reg;
narg.arg = arg;
narg.enc = reg->enc; /* should be pattern encoding. */
- onig_st_foreach(t, (st_foreach_callback_func *)i_names, (HashDataType )&narg);
+ onig_st_foreach(t, i_names, (HashDataType )&narg);
}
return narg.ret;
}
static int
-i_renumber_name(UChar* key ARG_UNUSED, NameEntry* e, GroupNumRemap* map)
+i_renumber_name(HashDataType key_ ARG_UNUSED, HashDataType e_, HashDataType map_)
{
+ NameEntry* e = (NameEntry *)e_;
+ GroupNumRemap* map = (GroupNumRemap *)map_;
int i;
if (e->back_num > 1) {
@@ -623,7 +632,7 @@ onig_renumber_name_table(regex_t* reg, GroupNumRemap* map)
NameTable* t = (NameTable* )reg->name_table;
if (IS_NOT_NULL(t)) {
- onig_st_foreach(t, (st_foreach_callback_func *)i_renumber_name, (HashDataType )map);
+ onig_st_foreach(t, i_renumber_name, (HashDataType )map);
}
return 0;
}