Skip to content

Commit 99e6568

Browse files
authored
Merge pull request #81 from jktjkt/libyang-cpp-changes
Adapt to CESNET/libyang#602
2 parents 488f480 + 6d7c396 commit 99e6568

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

src/session_client.c

Lines changed: 12 additions & 6 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 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 *
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

@@ -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

Comments
 (0)