assert( messagehdlr !=
NULL);
73assert( outputfunc !=
NULL);
74assert( !usefile2 || file2 !=
NULL);
75assert( buffer ==
NULL|| bufferlen !=
NULL);
84outputfunc(messagehdlr, file1, msg);
86outputfunc(messagehdlr, file2, msg);
90assert(bufferlen !=
NULL);
96assert( buffer[*bufferlen] ==
'\0');
98outputfunc(messagehdlr, file1, buffer);
100outputfunc(messagehdlr, file2, buffer);
105assert( msg !=
NULL&& buffer !=
NULL);
108 if( ! usefile1 && ! usefile2 )
119buffer[(*bufferlen)++] = *(s++);
120buffer[*bufferlen] =
'\0';
123outputfunc(messagehdlr, file1, buffer);
125outputfunc(messagehdlr, file2, buffer);
130buffer[(*bufferlen)++] = *(s++);
132buffer[*bufferlen] =
'\0';
164 if( staticErrorPrinting !=
NULL)
175 if( messagehdlr !=
NULL&& messagehdlr->messagewarning !=
NULL&& (! messagehdlr->
quiet|| messagehdlr->
logfile!=
NULL) )
190 if( messagehdlr !=
NULL&& messagehdlr->messagedialog !=
NULL)
192 if( (file ==
NULL|| file == stdout) && ! messagehdlr->
quiet)
197 else if( msg !=
NULL)
216 if( messagehdlr !=
NULL&& messagehdlr->messageinfo !=
NULL)
218 if( (file ==
NULL|| file == stdout) && ! messagehdlr->
quiet)
223 else if( msg !=
NULL)
238 const char* filename
241 if( filename !=
NULL)
243messagehdlr->
logfile= fopen(filename,
"a");
260assert(messagehdlr !=
NULL);
262 if( *messagehdlr !=
NULL)
269 if( (*messagehdlr)->messagehdlrfree !=
NULL)
272 SCIP_CALL( (*messagehdlr)->messagehdlrfree(*messagehdlr) );
276 if( (*messagehdlr)->logfile !=
NULL)
278fclose((*messagehdlr)->logfile);
298 const char* filename,
308(*messagehdlr)->messagewarning = messagewarning;
309(*messagehdlr)->messagedialog = messagedialog;
310(*messagehdlr)->messageinfo = messageinfo;
311(*messagehdlr)->messagehdlrfree = messagehdlrfree;
312(*messagehdlr)->messagehdlrdata = messagehdlrdata;
313(*messagehdlr)->warningbuffer =
NULL;
314(*messagehdlr)->dialogbuffer =
NULL;
315(*messagehdlr)->infobuffer =
NULL;
316(*messagehdlr)->warningbufferlen = 0;
317(*messagehdlr)->dialogbufferlen = 0;
318(*messagehdlr)->infobufferlen = 0;
319(*messagehdlr)->nuses = 1;
321(*messagehdlr)->quiet = quiet;
325 if( bufferedoutput )
330(*messagehdlr)->warningbuffer[0] =
'\0';
331(*messagehdlr)->dialogbuffer[0] =
'\0';
332(*messagehdlr)->infobuffer[0] =
'\0';
343 if( messagehdlr !=
NULL)
344++messagehdlr->
nuses;
352assert(messagehdlr !=
NULL);
354 if( *messagehdlr ==
NULL)
357assert((*messagehdlr)->nuses >= 1);
360--(*messagehdlr)->nuses;
363 if( (*messagehdlr)->nuses == 0 )
366assert(*messagehdlr ==
NULL);
370*messagehdlr =
NULL;
382assert(messagehdlr !=
NULL);
384 if( messagehdlr ==
NULL)
395 const char* filename
398assert(messagehdlr !=
NULL);
403fclose(messagehdlr->
logfile);
416assert(messagehdlr !=
NULL);
423messagehdlr->
quiet= quiet;
429 const char* formatstr,
435va_start(ap, formatstr);
443 const char* formatstr,
453 const char* formatstr,
459va_start(ap, formatstr);
467 const char* formatstr,
494m = vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
496vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
512 const char* formatstr,
518va_start(ap, formatstr);
526 const char* formatstr,
537 const char* formatstr,
543va_start(ap, formatstr);
552 const char* formatstr,
579m = vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
581vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
596 const char* formatstr,
602va_start(ap, formatstr);
610 const char* formatstr,
621 const char* formatstr,
627va_start(ap, formatstr);
636 const char* formatstr,
663m = vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
665vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
682 const char* formatstr,
688va_start(ap, formatstr);
698 const char* formatstr,
711 const char* formatstr,
717va_start(ap, formatstr);
728 const char* formatstr,
736 if( msgverblevel <= verblevel )
761m = vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
763vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
778 const char* sourcefile,
785(void) snprintf(msg,
SCIP_MAXSTRLEN,
"[%s:%d] ERROR: ", sourcefile, sourceline);
792 const char* formatstr,
798va_start(ap, formatstr);
805 const char* formatstr,
832m = vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
834vsnprintf(bigmsg, (
size_t) n+1, formatstr, aq);
856staticErrorPrinting = errorPrinting;
868staticErrorPrinting = errorPrintingDefault;
882#undef SCIPmessagehdlrGetData 883#undef SCIPmessagehdlrGetLogfile 884#undef SCIPmessagehdlrIsQuiet 891 if( messagehdlr !=
NULL)
903 if( messagehdlr ==
NULL)
914 return(messagehdlr ==
NULL|| messagehdlr->
quiet);
common defines and data types used in all packages of SCIP
memory allocation routines
#define BMSfreeMemory(ptr)
#define BMSallocMemoryArray(ptr, num)
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemorySize(ptr, size)
#define BMSallocMemory(ptr)
void SCIPmessagePrintError(const char *formatstr,...)
#define va_copy(dest, src)
static void messagePrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg)
void SCIPmessageVPrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr, va_list ap)
SCIP_RETCODE SCIPmessagehdlrCreate(SCIP_MESSAGEHDLR **messagehdlr, SCIP_Bool bufferedoutput, const char *filename, SCIP_Bool quiet, SCIP_DECL_MESSAGEWARNING((*messagewarning)), SCIP_DECL_MESSAGEDIALOG((*messagedialog)), SCIP_DECL_MESSAGEINFO((*messageinfo)), SCIP_DECL_MESSAGEHDLRFREE((*messagehdlrfree)), SCIP_MESSAGEHDLRDATA *messagehdlrdata)
void SCIPmessageFPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
void SCIPmessageVPrintDialog(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
static void handleMessage(SCIP_MESSAGEHDLR *messagehdlr, SCIP_DECL_MESSAGEOUTPUTFUNC(outputfunc), FILE *file1, SCIP_Bool usefile1, FILE *file2, SCIP_Bool usefile2, const char *msg, char *buffer, int *bufferlen)
static SCIP_DECL_ERRORPRINTING(errorPrintingDefault)
static void messagePrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *msg)
SCIP_MESSAGEHDLRDATA * SCIPmessagehdlrGetData(SCIP_MESSAGEHDLR *messagehdlr)
static SCIP_RETCODE messagehdlrFree(SCIP_MESSAGEHDLR **messagehdlr)
void SCIPmessageFPrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
static void * staticErrorPrintingData
void SCIPmessageVFPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
void SCIPmessageVFPrintDialog(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr, va_list ap)
void SCIPmessagehdlrSetLogfile(SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
static void messagehdlrOpenLogfile(SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
void SCIPmessageVFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr, va_list ap)
void SCIPmessageSetErrorPrinting(SCIP_DECL_ERRORPRINTING((*errorPrinting)), void *data)
void SCIPmessagePrintInfo(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
void SCIPmessageVPrintError(const char *formatstr, va_list ap)
void SCIPmessagePrintDialog(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_RETCODE SCIPmessagehdlrRelease(SCIP_MESSAGEHDLR **messagehdlr)
void SCIPmessageVFPrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr, va_list ap)
void SCIPmessagehdlrSetQuiet(SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
void SCIPmessageVPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
void SCIPmessagePrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_Bool SCIPmessagehdlrIsQuiet(SCIP_MESSAGEHDLR *messagehdlr)
static void messagePrintDialog(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg)
FILE * SCIPmessagehdlrGetLogfile(SCIP_MESSAGEHDLR *messagehdlr)
SCIP_RETCODE SCIPmessagehdlrSetData(SCIP_MESSAGEHDLR *messagehdlr, SCIP_MESSAGEHDLRDATA *messagehdlrdata)
void SCIPmessageVPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr, va_list ap)
void SCIPmessagehdlrCapture(SCIP_MESSAGEHDLR *messagehdlr)
void SCIPmessageSetErrorPrintingDefault(void)
void SCIPmessagePrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr,...)
void SCIPmessageFPrintDialog(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
static void messagePrintError(FILE *file, const char *msg)
void SCIPmessagePrintErrorHeader(const char *sourcefile, int sourceline)
public methods for message output
public data structures and miscellaneous methods
SCIP_MESSAGEHDLRDATA * messagehdlrdata
datastructures for problem statistics
#define SCIP_DECL_MESSAGEOUTPUTFUNC(x)
#define SCIP_DECL_MESSAGEWARNING(x)
#define SCIP_DECL_MESSAGEINFO(x)
#define SCIP_DECL_MESSAGEDIALOG(x)
enum SCIP_VerbLevel SCIP_VERBLEVEL
#define SCIP_DECL_MESSAGEHDLRFREE(x)
struct SCIP_MessagehdlrData SCIP_MESSAGEHDLRDATA
enum SCIP_Retcode SCIP_RETCODE
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4