@@ -501,8 +501,10 @@ onig_print_names(FILE* fp, regex_t* reg)
501501# endif /* ONIG_DEBUG */
502502
503503static int
504- i_free_name_entry (UChar * key , NameEntry * e , void * arg ARG_UNUSED )
504+ i_free_name_entry (st_data_t vkey , st_data_t ve , st_data_t arg_data ARG_UNUSED , int existing ARG_UNUSED )
505505{
506+ NameEntry * e = (NameEntry * )ve ;
507+ UChar * key = (UChar * )vkey ;
506508 xfree (e -> name );
507509 if (IS_NOT_NULL (e -> back_refs )) xfree (e -> back_refs );
508510 xfree (key );
@@ -558,8 +560,12 @@ typedef struct {
558560} INamesArg ;
559561
560562static int
561- i_names (UChar * key ARG_UNUSED , NameEntry * e , INamesArg * arg )
563+ i_names (st_data_t key_data ARG_UNUSED , st_data_t value_data , st_data_t arg_data , int existing ARG_UNUSED )
562564{
565+ /* Cast back to original types */
566+ NameEntry * e = (NameEntry * )value_data ;
567+ INamesArg * arg = (INamesArg * )arg_data ;
568+
563569 int r = (* (arg -> func ))(e -> name ,
564570 e -> name + e -> name_len ,
565571 e -> back_num ,
@@ -585,16 +591,18 @@ onig_foreach_name(regex_t* reg,
585591 narg .reg = reg ;
586592 narg .arg = arg ;
587593 narg .enc = reg -> enc ; /* should be pattern encoding. */
588- onig_st_foreach (t , i_names , (HashDataType )& narg );
594+ onig_st_foreach (t , i_names , (st_data_t )& narg );
589595 }
590596 return narg .ret ;
591597}
592598
593599static int
594- i_renumber_name (UChar * key ARG_UNUSED , NameEntry * e , GroupNumRemap * map )
600+ i_renumber_name (st_data_t key_data ARG_UNUSED , st_data_t ve , st_data_t vmap , int existing ARG_UNUSED )
595601{
596602 int i ;
597603
604+ NameEntry * e = (NameEntry * )ve ;
605+ GroupNumRemap * map = (GroupNumRemap * )vmap ;
598606 if (e -> back_num > 1 ) {
599607 for (i = 0 ; i < e -> back_num ; i ++ ) {
600608 e -> back_refs [i ] = map [e -> back_refs [i ]].new_val ;
@@ -613,7 +621,7 @@ onig_renumber_name_table(regex_t* reg, GroupNumRemap* map)
613621 NameTable * t = (NameTable * )reg -> name_table ;
614622
615623 if (IS_NOT_NULL (t )) {
616- onig_st_foreach (t , i_renumber_name , (HashDataType )map );
624+ onig_st_foreach (t , i_renumber_name , (st_data_t )map );
617625 }
618626 return 0 ;
619627}
0 commit comments