1/**********************************************************************
2 * logClose
3 *
4 *
5 * This code was created by Peter Harvey (mostly during Christmas 98/99).
6 * This code is LGPL. Please ensure that this message remains in future
7 * distributions and uses of this code (thats about all I get out of it).
8 * - Peter Harvey pharvey@codebydesign.com
9 *
10 **********************************************************************/
11
12#include <config.h>
13#include "log.h"
14
15/*!
16 * \brief Closes log.
17 *
18 * This will clear all messages and close the log. All memory used
19 * by the messages is automatically freed by calls to _logFreeMsg.
20 * All remaining mem used by the log is also freed - including the
21 * log handle itself.
22 *
23 * \param hLog A log handle init by \sa logOpen.
24 *
25 * \return int
26 * \retval LOG_SUCCESS
27 *
28 * \sa logOpen
29 */
30int logClose( HLOG hLog )
31{
32 /* we must be logOpen to logClose */
33 if ( !hLog ) return LOG_ERROR;
34
35 /* clear all messages - including the handle */
36 /* _logFreeMsg will automatically be called for each msg */
37 lstClose( hLog->hMessages );
38
39 /* free remaining mem used by log - including the handle */
40 if ( hLog->pszProgramName ) free( hLog->pszProgramName );
41 if ( hLog->pszLogFile ) free( hLog->pszLogFile );
42 free( hLog );
43
44 return LOG_SUCCESS;
45}
46
47
48