AcePerl
view release on metacpan or search on metacpan
acelib/messubs.c view on Meta::CPAN
static OutRoutine dumpRoutine = 0 ;
static OutRoutine errorRoutine = 0 ;
static OutRoutine exitRoutine = 0 ;
static OutRoutine crashRoutine = 0 ;
static QueryRoutine queryRoutine = 0 ;
static PromptRoutine promptRoutine = 0 ;
static IsInterruptRoutine isInterruptRoutine = 0 ;
UTIL_FUNC_DEF VoidRoutine messBeepRegister (VoidRoutine func)
{ VoidRoutine old = beepRoutine ; beepRoutine = func ; return old ; }
UTIL_FUNC_DEF OutRoutine messOutRegister (OutRoutine func)
{ OutRoutine old = outRoutine ; outRoutine = func ; return old ; }
UTIL_FUNC_DEF OutRoutine messDumpRegister (OutRoutine func)
{ OutRoutine old = dumpRoutine ; dumpRoutine = func ; return old ; }
UTIL_FUNC_DEF OutRoutine messErrorRegister (OutRoutine func)
{ OutRoutine old = errorRoutine ; errorRoutine = func ; return old ; }
UTIL_FUNC_DEF OutRoutine messExitRegister (OutRoutine func)
{ OutRoutine old = exitRoutine ; exitRoutine = func ; return old ; }
UTIL_FUNC_DEF OutRoutine messCrashRegister (OutRoutine func)
{ OutRoutine old = crashRoutine ; crashRoutine = func ; return old ; }
UTIL_FUNC_DEF QueryRoutine messQueryRegister (QueryRoutine func)
{ QueryRoutine old = queryRoutine ; queryRoutine = func ; return old ; }
UTIL_FUNC_DEF PromptRoutine messPromptRegister (PromptRoutine func)
{ PromptRoutine old = promptRoutine ; promptRoutine = func ; return old ; }
UTIL_FUNC_DEF IsInterruptRoutine messIsInterruptRegister (IsInterruptRoutine func)
{ IsInterruptRoutine old = isInterruptRoutine ; isInterruptRoutine = func ; return old ; }
/***************************************************/
UTIL_FUNC_DEF BOOL messIsInterruptCalled (void)
{
if (isInterruptRoutine)
return (*isInterruptRoutine)() ;
/* unless a routine is registered, we assume no interrupt
(e.g. F4 keypress in graph-window) has been called */
return FALSE;
}
/* The message output routines. */
/* */
/* */
/***************************************************/
UTIL_FUNC_DEF void messbeep (void)
{
if (beepRoutine)
(*beepRoutine)() ;
else
{ freeOutf ("%c",0x07) ; /* bell character, I hope */
fflush (stdout) ; /* added by fw 02.Feb 1994 */
}
}
/*******************************/
UTIL_FUNC_DEF void messout (char *format,...)
{
va_list args ;
char *mesg_buf ;
/* Format the message string. */
ACEFORMATSTRING(args, format, mesg_buf, NULL, NULL, 0)
if (outRoutine)
(*outRoutine)(mesg_buf) ;
else
fprintf (stdout, "//!! %s\n", mesg_buf) ;
}
/*****************************/
UTIL_FUNC_DEF BOOL messPrompt (char *prompt, char *dfault, char *fmt)
{
BOOL answer ;
if (promptRoutine)
answer = (*promptRoutine)(prompt, dfault, fmt) ;
else
answer = freeprompt (prompt, dfault, fmt) ;
return answer ;
}
/*****************************/
UTIL_FUNC_DEF BOOL messQuery (char *format,...)
{
BOOL answer ;
char *mesg_buf = NULL ;
va_list args ;
/* Format the message string. */
ACEFORMATSTRING(args, format, mesg_buf, NULL, NULL, 0)
if (queryRoutine)
answer = (*queryRoutine)(mesg_buf) ;
else
answer = freequery (mesg_buf) ;
return answer ;
}
/*****************************************************************/
UTIL_FUNC_DEF void messdump (char *format,...)
{
static char dumpbuf[BUFSIZE] ; /* BEWARE limited buffer size. */
char *mesg_buf ;
( run in 1.658 second using v1.01-cache-2.11-cpan-437f7b0c052 )