Skip to content

Commit 35972df

Browse files
committed
Adapt to libyang's "Pass the original user_data to the deleter function"
1 parent 5426045 commit 35972df

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

src/session_client.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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 void free_with_user_data(void *data, void *user_data)
464+
{
465+
free(data);
466+
(void)user_data;
467+
}
468+
463469
static char *
464470
retrieve_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

@@ -562,7 +568,7 @@ nc_ctx_load_module(struct nc_session *session, const char *name, const char *rev
562568
struct ly_err_item *eitem;
563569
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

Comments
 (0)