DtMsgLogOpenFile(library call) DtMsgLogOpenFile(library call)
NAME
DtMsgLogOpenFile -- opens a log file
SYNOPSIS
#include <Dt/MsgLog.h>
FILE* DtMsgLogOpenFile(
const char* type,
char** filename_return);
DESCRIPTION
The DtMsgLogOpenFile function calls fopen to open a log file with type open mode. If fopen opens a log file successfully and returns a non-
NULL filename_return, DtMsgLogOpenFile calls malloc to allocate space for filename_return. DtMsgLogOpenFile then copies the log file name
to filename_return.
The caller must use the free function to release the space allocated for filename_return, if it is not NULL. The caller must also close the
file pointer returned by DtMsgLogOpenFile. Use caution in doing this because stderr may be returned.
For a description of the algorithm used to determine the log file to open, see DtMsgLogMessage(3). Note that if a log file cannot be
opened, filename_return will be set to NULL.
ARGUMENTS
type Specifies the file open flag. See fopen(3) for more information.
filename_return
Specifies the variable to receive the returned log file name.
ENVIRONMENT VARIABLES
None.
RESOURCES
None.
ACTIONS
/MESSAGES
None.
ERRORS
/WARNINGS
None.
EXAMPLES
The following code fragment opens the log file, logs the log file name, closes the file, and frees the space allocated for the file name.
char * log_file;
FILE * fp = DtMsgLogOpenFile ("a+", &log_file);
if (log_file) {
DtMsgLogMessage (argv[0], DtMsgLogInformation,
"The log file name is: %s", log_file);
free (log_file);
}
if (fp && fp != stderr)
fclose (fp);
RETURN VALUE
If DtMsgLogMessage completes successfully, it returns a pointer to the opened log file. If it cannot open a log file, it returns stderr.
FILES
None.
SEE ALSO
DtMsgLogMessage(3), DtMsgLogSetHandler(3)
DtMsgLogOpenFile(library call)