LC_GETERRNO(3)

NAME
lc_cleanup - Clean up internal structures after processing data.

SYNOPSIS
#include <libconfig.h>

void lc_cleanup(void);

DESCRIPTION
The lc_cleanup(3) function cleans up the internal structures created by calling lc_register_var(3) or 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 lc_cleanup(3) calling lc_process(3) or lc_process_file(3) will generally cause errors since the registered variables and callbacks have been unregistered.

EXAMPLE
#include <libconfig.h>
#include <stdlib.h>
#include <stdio.h>
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);
}

SEE ALSO
libconfig(3), lc_register_var(3), lc_register_callback(3), lc_geterrno(3), lc_geterrstr(3), lc_seterrstr(3), lc_handle_type(3), lc_process(3), lc_process_file(3)