diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-11-02 12:53:06 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-11-02 15:00:39 +0900 |
commit | 4218e913d8d1d1e4c2fb123348fd98721e2b0ba8 (patch) | |
tree | 7741699041de90aa40a0bde322087c69ddda0070 /regparse.c | |
parent | e34e8b93f8fac3ef40ab5ed8672fa003f3b4d9c0 (diff) |
Fix functions for name tables as `st_foreach_callback_func`
Diffstat (limited to 'regparse.c')
-rw-r--r-- | regparse.c | 25 |
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; } |