source: git/omalloc/omError.h @ 2e385d

spielwiese
Last change on this file since 2e385d was 2e385d, checked in by Michael Orlitzky <michael@…>, 17 months ago
*/*.{c,h}: fix invalid function prototypes. The C99 standard does not allow function prototypes (or inline definitions) to have an empty argument list, such as int foo(); /* invalid */ This is caught by -Werror=strict-prototypes, which is likely to become the default in later versions of GCC and clang. This commit corrects all(?) of them by adding a "void" parameter.
  • Property mode set to 100644
File size: 2.9 KB
Line 
1/*******************************************************************
2 *  File:    omError.h
3 *  Purpose: Error handling of omalloc
4 *  Author:  obachman (Olaf Bachmann)
5 *  Created: 11/99
6 *******************************************************************/
7#ifndef OM_ERROR_H
8#define OM_ERROR_H
9
10#include <stdio.h>
11/*******************************************************************
12 *
13 *  error codes
14 *
15 *******************************************************************/
16enum omError_e
17{
18  omError_NoError = 0,
19  omError_Unknown,
20  omError_InternalBug,
21  omError_MemoryCorrupted,
22  omError_NullAddr,
23  omError_InvalidRangeAddr,
24  omError_FalseAddr,
25  omError_FalseAddrOrMemoryCorrupted,
26  omError_WrongSize,
27  omError_FreedAddr,
28  omError_FreedAddrOrMemoryCorrupted,
29  omError_WrongBin,
30  omError_UnknownBin,
31  omError_NotBinAddr,
32  omError_UnalignedAddr,
33  omError_NullSizeAlloc,
34  omError_ListCycleError,
35  omError_SortedListError,
36  omError_KeptAddrListCorrupted,
37  omError_FreePattern,
38  omError_BackPattern,
39  omError_FrontPattern,
40  omError_NotString,
41  omError_StickyBin,
42  omError_MaxError
43};
44typedef enum omError_e omError_t;
45
46/* global variable holding last omError */
47extern omError_t om_ErrorStatus;
48/* globale variable holding last low-level omError */
49extern omError_t om_InternalErrorStatus;
50/* returns description of error */
51const char* omError2String(omError_t error);
52/* returns error as string */
53const char* omError2Serror(omError_t error);
54extern omError_t omReportError(omError_t error, omError_t report_error, OM_FLR_DECL,
55                               const char* fmt, ...);
56
57/* this is a dummy function and used as default for om_Opts.ErrorHook */
58extern void omErrorBreak(void);
59
60#ifndef OM_NDEBUG
61extern void omPrintAddrInfo(FILE* fd, void* addr, const char* s);
62#else
63#define omPrintAddrInfo(fd, addr, s) fprintf(fd, "OM_NDEBUG: no addr info available\n")
64#endif
65
66/*BEGINPRIVATE*/
67
68#ifndef OM_NDEBUG
69extern int om_CallErrorHook;
70#else
71#define om_CallErrorHook 1
72#endif
73
74/*******************************************************************
75 *
76 * om_assume(x) -- a handy macro for assumptions
77 *
78 ******************************************************************/
79#ifndef HAVE_OM_ASSUME
80
81#define omAssume(x) do {} while (0)
82
83#else /* ! HAVE_OM_ASSUME */
84
85#define omAssume(x)                                             \
86do                                                              \
87{                                                               \
88  if (! (x))                                                    \
89  {                                                             \
90    omReportError(omError_InternalBug, omError_InternalBug, OM_FLR, "omAssume violation");   \
91  }                                                             \
92}                                                               \
93while (0)
94
95#endif /* HAVE_OM_ASSUME */
96/*ENDPRIVATE*/
97
98#endif /* OM_LOCAL_H */
Note: See TracBrowser for help on using the repository browser.