diff --git a/src/libopensc/ctx.c b/src/libopensc/ctx.c index c907a36f..e742b076 100644 --- a/src/libopensc/ctx.c +++ b/src/libopensc/ctx.c @@ -431,6 +431,8 @@ int sc_release_context(struct sc_context *ctx) drv->ops->finish(ctx, ctx->reader_drv_data[i]); } ctx->debug_file = ctx->error_file = NULL; + if (ctx->preferred_language) + free(ctx->preferred_language); if (ctx->conf) scconf_free(ctx->conf); sc_mutex_free(ctx->mutex); diff --git a/src/libopensc/internal.h b/src/libopensc/internal.h index a582a744..8049ba72 100644 --- a/src/libopensc/internal.h +++ b/src/libopensc/internal.h @@ -31,6 +31,7 @@ extern "C" { #include "opensc.h" #include "log.h" +#include "ui.h" #include #define SC_FILE_MAGIC 0x14426950 diff --git a/src/libopensc/log.c b/src/libopensc/log.c index ab98372d..4e421ef2 100644 --- a/src/libopensc/log.c +++ b/src/libopensc/log.c @@ -34,7 +34,6 @@ #ifdef HAVE_IO_H #include #endif -#include #ifndef __GNUC__ void sc_error(struct sc_context *ctx, const char *format, ...) diff --git a/src/libopensc/ui.c b/src/libopensc/ui.c index a2e9c3a9..e4f00bae 100644 --- a/src/libopensc/ui.c +++ b/src/libopensc/ui.c @@ -10,20 +10,13 @@ * Copyright (C) 2003 Olaf Kirch */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include "internal.h" #include #include #include #ifdef HAVE_UNISTD_H #include #endif -#include -#include -#include -#include -#include "internal.h" /* * We keep a global shared library handle here.