inc/errabort.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void(*) AbortHandler ()
typedef void(*) WarnHandler (char *format, va_list args)

Functions

void errAbort (char *format,...)
void vaErrAbort (char *format, va_list args)
void errnoAbort (char *format,...)
void pushAbortHandler (AbortHandler handler)
void popAbortHandler ()
void noWarnAbort ()
void pushDebugAbort ()
void vaWarn (char *format, va_list args)
void warn (char *format,...)
void errnoWarn (char *format,...)
void pushWarnHandler (WarnHandler handler)
void popWarnHandler ()
void pushWarnAbort ()


Typedef Documentation

typedef void(*) AbortHandler()

Definition at line 37 of file errabort.h.

typedef void(*) WarnHandler(char *format, va_list args)

Definition at line 69 of file errabort.h.


Function Documentation

void errAbort ( char *  format,
  ... 
)

Definition at line 105 of file errabort.c.

References vaErrAbort().

00107 {
00108 va_list args;
00109 va_start(args, format);
00110 vaErrAbort(format, args);
00111 va_end(args);
00112 }

Here is the call graph for this function:

void errnoAbort ( char *  format,
  ... 
)

Definition at line 114 of file errabort.c.

References errno, and vaErrAbort().

00116 {
00117 char fbuf[512];
00118 va_list args;
00119 va_start(args, format);
00120 sprintf(fbuf, "%s\n%s", strerror(errno), format);
00121 vaErrAbort(fbuf, args);
00122 va_end(args);
00123 }

Here is the call graph for this function:

void errnoWarn ( char *  format,
  ... 
)

Definition at line 49 of file errabort.c.

References errno, and vaWarn().

Referenced by carefulCloseWarn().

00051 {
00052 char fbuf[512];
00053 va_list args;
00054 va_start(args, format);
00055 sprintf(fbuf, "%s\n%s", strerror(errno), format);
00056 vaWarn(fbuf, args);
00057 va_end(args);
00058 }

Here is the call graph for this function:

Here is the caller graph for this function:

void noWarnAbort (  ) 

Definition at line 90 of file errabort.c.

References abortArray, and abortIx.

Referenced by carefulClose(), htmlPageParseOk(), netLineFileOpen(), netMustConnect(), netRecieveHugeString(), netRecieveLongString(), netRecieveString(), perr(), rudpMustOpen(), rudpMustOpenBound(), tagAbort(), vaErrAbort(), and warnAbortHandler().

00092 {
00093 abortArray[abortIx]();
00094 exit(-1);               /* This is just to make compiler happy. 
00095                          * We have already exited or longjmped by now. */
00096 }

Here is the caller graph for this function:

void popAbortHandler (  ) 

Definition at line 133 of file errabort.c.

References abortIx, and errAbort().

Referenced by cgiParseInput(), errCatchEnd(), errorSafeCleanupMess(), errorSafePcr(), errorSafeQuery(), ffFind(), htmEmptyShell(), and snofDupeOkIndex().

00135 {
00136 if (abortIx <= 0)
00137     errAbort("Too many popAbortHandlers\n");
00138 --abortIx;
00139 }

Here is the call graph for this function:

Here is the caller graph for this function:

void popWarnHandler (  ) 

Definition at line 69 of file errabort.c.

References errAbort(), and warnIx.

Referenced by errCatchEnd(), and htmEmptyShell().

00071 {
00072 if (warnIx <= 0)
00073     errAbort("Too many popWarnHandlers\n");
00074 --warnIx;
00075 }

Here is the call graph for this function:

Here is the caller graph for this function:

void pushAbortHandler ( AbortHandler  handler  ) 

Definition at line 125 of file errabort.c.

References abortArray, abortIx, errAbort(), and maxAbortHandlers.

Referenced by cgiParseInput(), errCatchPushHandlers(), errorSafeSetup(), ffFind(), htmEmptyShell(), htmlPushEarlyHandlers(), logOpenFile(), logOpenSyslog(), plProcSetup(), pushDebugAbort(), snofDupeOkIndex(), and textOutInit().

00127 {
00128 if (abortIx >= maxAbortHandlers-1)
00129     errAbort("Too many pushAbortHandlers, can only handle %d\n", maxAbortHandlers-1);
00130 abortArray[++abortIx] = handler;
00131 }

Here is the call graph for this function:

Here is the caller graph for this function:

void pushDebugAbort (  ) 

Definition at line 149 of file errabort.c.

References debugAbort(), and pushAbortHandler().

00151 {
00152 pushAbortHandler(debugAbort);
00153 }

Here is the call graph for this function:

void pushWarnAbort (  ) 

Definition at line 162 of file errabort.c.

References pushWarnHandler(), and warnAbortHandler().

Referenced by plProcSetup().

00164 {
00165 pushWarnHandler(warnAbortHandler);
00166 }

Here is the call graph for this function:

Here is the caller graph for this function:

void pushWarnHandler ( WarnHandler  handler  ) 

Definition at line 61 of file errabort.c.

References errAbort(), maxWarnHandlers, warnArray, and warnIx.

Referenced by errCatchPushHandlers(), htmEmptyShell(), htmlPushEarlyHandlers(), logOpenFile(), logOpenSyslog(), pushWarnAbort(), and textOutInit().

00063 {
00064 if (warnIx >= maxWarnHandlers-1)
00065     errAbort("Too many pushWarnHandlers, can only handle %d\n", maxWarnHandlers-1);
00066 warnArray[++warnIx] = handler;
00067 }

Here is the call graph for this function:

Here is the caller graph for this function:

void vaErrAbort ( char *  format,
va_list  args 
)

Definition at line 98 of file errabort.c.

References noWarnAbort(), and vaWarn().

Referenced by errAbort(), and errnoAbort().

00100 {
00101 vaWarn(format, args);
00102 noWarnAbort();
00103 }

Here is the call graph for this function:

Here is the caller graph for this function:

void vaWarn ( char *  format,
va_list  args 
)

Definition at line 34 of file errabort.c.

References warnArray, and warnIx.

Referenced by errnoWarn(), parseErr(), qaStatusSoftError(), tagVaWarn(), tokenizerErrAbort(), vaErrAbort(), warn(), xapError(), and xpError().

00036 {
00037 warnArray[warnIx](format, args);
00038 }

Here is the caller graph for this function:

void warn ( char *  format,
  ... 
)

Definition at line 40 of file errabort.c.

References vaWarn().

00042 {
00043 va_list args;
00044 va_start(args, format);
00045 vaWarn(format, args);
00046 va_end(args);
00047 }

Here is the call graph for this function:


Generated on Tue Dec 25 18:54:09 2007 for blat by  doxygen 1.5.2