/** \file * \brief String Utilities * * See Copyright Notice in "iup.h" */ #include #include #include #include #include #include "iup.h" #include "iup_assert.h" #include "iup_attrib.h" #include "iup_str.h" #include "iup_strmessage.h" /* from iup_open, but it is not exported, used only here */ int iupIsOpened(void); void iupError(const char* format, ...) { static char msg[SHRT_MAX]; va_list arglist; va_start(arglist, format); vsprintf(msg, format, arglist); va_end(arglist); #if IUP_ASSERT_CONSOLE fprintf(stderr, msg); #else if (iupIsOpened()) iupStrMessageShowError(NULL, msg); else fprintf(stderr, msg); #endif } void iupAssert(const char* expr, const char* file, int line, const char* func) { if (func) iupError("File: %s\n" "Line: %d\n" "Function: %s\n" "Assertive: (%s)", file, line, func, expr); else iupError("File: %s\n" "Line: %d\n" "Assertive: (%s)", file, line, expr); }