Update of "Manual for lc_cleanup"
Overview

Artifact ID: eb1b53097bb45c6b80b81d889a4d47de946ea7ef
Page Name:Manual for lc_cleanup
Date: 2014-11-24 20:11:48
Original User: rkeene
Parent: de3505192fe7f8c07bc2b632e7488fba2faadb52 (diff)
Content

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)