X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fencoding.c;h=f70dc4eb7ae47aeaba7e7555fade8b0825ea6c9d;hb=c4ab7521ddeb958a1476377d88883ea0579bd3ab;hp=36f88f3bca4a0b81ad9db73d31218a3cbe6b81b9;hpb=a14f8b06cbf7f3ca39951e1c7f3d12c4ff5b07cb;p=gedcom-parse.git diff --git a/gedcom/encoding.c b/gedcom/encoding.c index 36f88f3..f70dc4e 100644 --- a/gedcom/encoding.c +++ b/gedcom/encoding.c @@ -112,10 +112,14 @@ static char *new_gconv_path; void cleanup_encodings() { hash_free(encodings); +} + +void cleanup_gconv_path() +{ /* Clean up environment */ putenv(GCONV_SEARCH_PATH); if (new_gconv_path) - free(new_gconv_path); + free(new_gconv_path); } /* Let function be called before main() */ @@ -171,6 +175,9 @@ void update_gconv_search_path() abort(); } } + if (init_called && atexit(cleanup_gconv_path) != 0) { + gedcom_warning(_("Could not register path cleanup function")); + } } void init_encodings()