@@ -460,9 +460,15 @@ retrieve_schema_data_getschema(const char *name, const char *rev, struct clb_dat
460460 return model_data ;
461461}
462462
463- static char *
463+ static void free_with_user_data (void * data , void * user_data )
464+ {
465+ free (data );
466+ (void )user_data ;
467+ }
468+
469+ static const char *
464470retrieve_schema_data (const char * mod_name , const char * mod_rev , const char * submod_name , const char * sub_rev ,
465- void * user_data , LYS_INFORMAT * format , void (* * free_module_data )(void * model_data ))
471+ void * user_data , LYS_INFORMAT * format , void (* * free_module_data )(void * model_data , void * user_data ))
466472{
467473 struct clb_data_s * clb_data = (struct clb_data_s * )user_data ;
468474 unsigned int u , v , match = 1 ;
@@ -550,7 +556,7 @@ retrieve_schema_data(const char *mod_name, const char *mod_rev, const char *subm
550556 return clb_data -> user_clb (mod_name , mod_rev , submod_name , sub_rev , clb_data -> user_data , format , free_module_data );
551557 }
552558
553- * free_module_data = free ;
559+ * free_module_data = free_with_user_data ;
554560 return model_data ;
555561}
556562
@@ -560,9 +566,9 @@ nc_ctx_load_module(struct nc_session *session, const char *name, const char *rev
560566{
561567 int ret = 0 ;
562568 struct ly_err_item * eitem ;
563- char * module_data = NULL ;
569+ const char * module_data = NULL ;
564570 LYS_INFORMAT format ;
565- void (* free_module_data )(void * ) = NULL ;
571+ void (* free_module_data )(void * , void * ) = NULL ;
566572 struct clb_data_s clb_data ;
567573
568574 * mod = NULL ;
@@ -598,7 +604,7 @@ nc_ctx_load_module(struct nc_session *session, const char *name, const char *rev
598604
599605 * mod = lys_parse_mem (session -> ctx , module_data , format );
600606 if (* free_module_data ) {
601- (* free_module_data )(module_data );
607+ (* free_module_data )(( char * ) module_data , user_data );
602608 }
603609
604610 ly_ctx_set_module_imp_clb (session -> ctx , NULL , NULL );
0 commit comments