static rc_t copycat_log_unset () { rc_t rc_l, rc_ll; rc_l = KLogHandlerSet (log_writer, log_data); rc_ll = KLogHandlerSet (log_lib_writer, log_lib_data); return (rc_l != 0) ? rc_l : rc_ll; }
LIB_EXPORT void CC XMLLogger_Release(const XMLLogger* cself) { if( cself != NULL ) { XMLLogger* self = (XMLLogger*)cself; KLogFmtHandlerSet(self->log.fmt.formatter, 0, self->log.fmt.data); KLogLibFmtHandlerSet(self->loglib.fmt.formatter, 0, self->loglib.fmt.data); KLogHandlerSet(self->log.wrt.writer, self->log.wrt.data); KLogLibHandlerSet(self->loglib.wrt.writer, self->loglib.wrt.data); KStsFmtHandlerSet(self->sts.fmt.formatter, 0, self->sts.fmt.data); KStsLibFmtHandlerSet(self->stslib.fmt.formatter, 0, self->stslib.fmt.data); KStsHandlerSet(self->sts.wrt.writer, self->sts.wrt.data); KStsLibHandlerSet(self->stslib.wrt.writer, self->stslib.wrt.data); /* make log valid XML */ if( self->file.file != NULL ) { if( self->file.pos > 0 ) { KFileWrite(self->file.file, self->file.pos, "</Log>\n", 7, NULL); } KFileRelease(self->file.file); } free(self); } }