AcePerl
view release on metacpan or search on metacpan
acelib/wh/regular.h view on Meta::CPAN
UTIL_FUNC_DCL BOOL freefloat (float *p) ;
UTIL_FUNC_DCL BOOL freedouble (double *p) ;
UTIL_FUNC_DCL BOOL freekey (KEY *kpt, FREEOPT *options) ;
UTIL_FUNC_DCL BOOL freekeymatch (char *text, KEY *kpt, FREEOPT *options) ;
UTIL_FUNC_DCL void freemenu (void (*proc)(KEY), FREEOPT *options) ;
UTIL_FUNC_DCL char *freekey2text (KEY k, FREEOPT *o) ; /* Return text corresponding to key */
UTIL_FUNC_DCL BOOL freeselect (KEY *kpt, FREEOPT *options) ;
UTIL_FUNC_DCL BOOL freelevelselect (int level,
KEY *kpt, FREEOPT *options);
UTIL_FUNC_DCL void freedump (FREEOPT *options) ;
UTIL_FUNC_DCL BOOL freestep (char x) ;
UTIL_FUNC_DCL void freenext (void) ;
UTIL_FUNC_DCL BOOL freeprompt (char *prompt, char *dfault, char *fmt) ;/* gets a card */
UTIL_FUNC_DCL BOOL freecheck (char *fmt) ; /* checks remaining card fits fmt */
UTIL_FUNC_DCL int freefmtlength (char *fmt) ;
UTIL_FUNC_DCL BOOL freequery (char *query) ;
UTIL_FUNC_DCL char *freepos (void) ; /* pointer to present position in card */
UTIL_FUNC_DCL char *freeprotect (char* text) ; /* protect so freeword() reads correctly */
UTIL_FUNC_DCL char* freeunprotect (char *text) ; /* reverse of protect, removes \ etc */
UTIL_VAR_DCL char FREE_UPPER[] ;
#define freeupper(x) (FREE_UPPER[(x) & 0xff]) /* table is only 128 long */
UTIL_VAR_DCL char FREE_LOWER[] ;
#define freelower(x) (FREE_LOWER[(x) & 0xff])
/**********************************************************************/
/******************** message routines - messubs.c ********************/
/**********************************************************************/
/* 'Internal' functions, do not call directly. */
UTIL_FUNC_DCL void uMessSetErrorOrigin(char *filename, int line_num) ;
UTIL_FUNC_DCL void uMessCrash(char *format, ...) ;
/* External Interface. */
/* Note that messcrash is a macro and that it makes use of the ',' operator */
/* in C. This means that the messcrash macro will only produce a single C */
/* statement and hence can be used within brackets etc. and will not break */
/* existing code, e.g. */
/* funcblah(messcrash("hello")) ; */
/* will become: */
/* funcblah(uMessSetErrorOrigin(__FILE__, __LINE__), uMessCrash("hello")) ; */
/* */
UTIL_FUNC_DEF void messErrorInit (char *progname) ; /* Record the
applications name for use
in error messages, etc */
UTIL_FUNC_DEF char *messGetErrorProgram (void) ; /* Returns the
application name */
UTIL_FUNC_DCL char *messprintf (char *format, ...) ;
/* sprintf into (static!) string */
/* !!!! beware finite buffer size !!!! */
UTIL_FUNC_DCL void messbeep (void) ; /* make a beep */
UTIL_FUNC_DCL void messout (char *format, ...) ; /* simple message */
UTIL_FUNC_DCL void messdump (char *format, ...) ; /* write to log file */
UTIL_FUNC_DCL void messerror (char *format, ...) ; /* error message and write to log file */
UTIL_FUNC_DCL void messExit(char *format, ...) ; /* error message, write to log file & exit */
#define messcrash uMessSetErrorOrigin(__FILE__, __LINE__), uMessCrash
/* abort - but see below */
UTIL_FUNC_DCL BOOL messQuery (char *text,...) ; /* ask yes/no question */
UTIL_FUNC_DCL BOOL messPrompt (char *prompt, char *dfault, char *fmt) ;
/* ask for data satisfying format get results via freecard() */
UTIL_FUNC_DCL char* messSysErrorText (void) ;
/* wrapped system error message for use in messerror/crash() */
UTIL_FUNC_DCL int messErrorCount (void);
/* return numbers of error so far */
UTIL_FUNC_DCL BOOL messIsInterruptCalled (void);
/* return TRUE if an interrupt key has been pressed */
/**** registration of callbacks for messubs ****/
typedef void (*OutRoutine)(char*) ;
typedef BOOL (*QueryRoutine)(char*) ;
typedef BOOL (*PromptRoutine)(char*, char*, char*) ;
typedef BOOL (*IsInterruptRoutine)(void) ;
UTIL_FUNC_DCL VoidRoutine messBeepRegister (VoidRoutine func) ;
UTIL_FUNC_DCL OutRoutine messOutRegister (OutRoutine func) ;
UTIL_FUNC_DCL OutRoutine messDumpRegister (OutRoutine func) ;
UTIL_FUNC_DCL OutRoutine messErrorRegister (OutRoutine func) ;
UTIL_FUNC_DCL OutRoutine messExitRegister (OutRoutine func) ;
UTIL_FUNC_DCL OutRoutine messCrashRegister (OutRoutine func) ;
UTIL_FUNC_DCL QueryRoutine messQueryRegister (QueryRoutine func) ;
UTIL_FUNC_DCL PromptRoutine messPromptRegister (PromptRoutine func) ;
UTIL_FUNC_DCL IsInterruptRoutine messIsInterruptRegister (IsInterruptRoutine func) ;
/**** routines to catch crashes if necessary, e.g. when acedb dumping ****/
#include <setjmp.h>
UTIL_FUNC_DCL jmp_buf* messCatchCrash (jmp_buf* ) ;
UTIL_FUNC_DCL jmp_buf* messCatchError (jmp_buf* ) ;
UTIL_FUNC_DCL char* messCaughtMessage (void) ;
/* if a setjmp() stack context is set using messCatch*() then rather than
exiting or giving an error message, messCrash() and messError() will
longjmp() back to the context.
messCatch*() return the previous value. Use argument = 0 to reset.
messCaughtMessage() can be called from the jumped-to routine to get
the error message that would have been printed.
*/
/********************************************************************/
/************** memory management - memsubs.c ***********************/
/********************************************************************/
typedef struct _STORE_HANDLE_STRUCT *STORE_HANDLE ; /* opaque outside memsubs.c */
UTIL_FUNC_DCL STORE_HANDLE handleHandleCreate (STORE_HANDLE handle) ;
#define handleCreate() handleHandleCreate(0)
#define handleDestroy(handle) messfree(handle)
#if defined(WIN32) && defined(_DEBUG)
#define MEM_DEBUG
( run in 1.482 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )