fprintf(msg_cibmon_strm, "[%s] %s (to section=%s) ABORTED: (%d) %s\n", event, op, crm_str(type), rc, cib_error2string(rc));
crm_warn("[%s] %s (to section=%s) ABORTED: (%d) %s\n", event, op, crm_str(type), rc, cib_error2string(rc));
cibmon_update_confirm(const char *event, HA_Message *msg){	int rc = -1;	const char *op = NULL;	const char *id = NULL;	const char *type = NULL;	if(msg == NULL) {		crm_err("NULL update");		return;	}				op = cl_get_string(msg, F_CIB_OPERATION);	id = cl_get_string(msg, F_CIB_OBJID);	type = cl_get_string(msg, F_CIB_OBJTYPE);		ha_msg_value_int(msg, F_CIB_RC, &rc);	if(id == NULL) {		if(rc == cib_ok) {			fprintf(msg_cibmon_strm, "[%s] %s (to section=%s) confirmed.\n",				event, op, crm_str(type));		} else {			fprintf(msg_cibmon_strm, "[%s] %s (to section=%s) ABORTED: (%d) %s\n",				event, op, crm_str(type), 				rc, cib_error2string(rc));		}			} else {		if(rc == cib_ok) {			fprintf(msg_cibmon_strm, "[%s] %s (to <%s%s%s>) confirmed\n",				event, op, crm_str(type), id?" id=":"", id?id:"");		} else {			fprintf(msg_cibmon_strm, "[%s] %s (to <%s%s%s>) ABORTED: (%d) %s\n",				event, op, crm_str(type), id?" id=":"", id?id:"",				rc, cib_error2string(rc));		}	}	fprintf(msg_cibmon_strm, "\n=================================\n\n");		fflush(msg_cibmon_strm);}