66
66
The user\-provided merge function must have the same type as the \fImtbl_merge_func\fR function type given above in the synopsis\&. The symbol name of the merge function to be loaded from the user\-provided DSO will be constructed by appending "_func" to the string provided in the \fIMTBL_MERGE_FUNC_PREFIX\fR environment variable, which must be non\-empty\&.
68
68
Additionally, two optional functions may be provided: an "init" function whose symbol name is "_init" appended to the function prefix, and a "free" function whose symbol name is "_free" appended to the function prefix\&. If the "init" function exists, it will be called at the beginning, before any calls to the merge function, and the return value from the init function will be passed as the first argument to the merge function\&. If the "free" function exists, it will be called at the end, after any calls to the merge function, and its argument will be the return value of the "init" function\&.