@@ -0,0 +1,73 @@ +.TH LC_GETERRNO 3 "25 Oct 04" "@PACKAGE_STRING@" +.SH NAME +lc_cleanup \- Clean up internal structures after processing data. + +.SH SYNOPSIS +.B #include +.sp +.BI "void lc_cleanup(void);" + +.SH DESCRIPTION +The +.BR lc_cleanup (3) +function cleans up the internal structures created by calling +.BR lc_register_var (3) +or +.BR lc_register_callback (3) +and returns the memory to the application. It is not strictly required, however memory concious programmers will still want to call this after finishing processing configuration files. + +After you call +.BR lc_cleanup (3) +calling +.BR lc_process (3) +or +.BR lc_process_file (3) +will generally cause errors since the registered variables and callbacks have been unregistered. + +.SH EXAMPLE +.nf +#include +#include +#include + +int main(int argc, char **argv) { + int lc_p_ret, lc_rv_ret; + char *filename = NULL; + + lc_rv_ret = lc_register_var("File", LC_VAR_STRING, + &filename, 'f'); + + if (lc_rv_ret != 0) { + fprintf(stderr, "Error registering variable: %i.\\n", + lc_geterrno()); + return(EXIT_FAILURE); + } + + lc_p_ret = lc_process(argc, argv, "example", LC_CONF_APACHE, + NULL); + + lc_cleanup(); + + if (lc_p_ret != 0) { + fprintf(stderr, "Error processing configuration: \\ + %s\\n", lc_geterrstr()); + return(EXIT_FAILURE); + } + + if (filename != NULL) { + printf("File specified was: %s\\n", filename); + } else { + printf("No filename specified.\\n"); + } + + return(EXIT_SUCCESS); +} +.fi + +.SH "SEE ALSO" +.BR lc_register_var (3), +.BR lc_register_callback (3), +.BR lc_geterrstr (3), +.BR lc_geterrno (3), +.BR lc_process_file (3), +.BR lc_process (3)