 |
My Project
debian-1:4.1.2-p1+ds-2
|
#include <limits.h>
#include <string.h>
#include "omConfig.h"
#include "omalloc.h"
#include "omDebug.h"
#include "omReturn.h"
Go to the source code of this file.
|
#define | OM_CLFL check_level OM_FL_KOMMA OM_FL |
|
#define | MAX(a, b) (a > b ? a : b) |
|
#define | MIN(a, b) (a < b ? a : b) |
|
|
static void * | __omDebugAlloc (void *size_bin, omTrackFlags_t flags, char track, OM_FLR_DECL) |
|
static void * | __omDebugRealloc (void *old_addr, void *old_size_bin, void *new_size_bin, omError_t old_status, omTrackFlags_t old_flags, omTrackFlags_t new_flags, char track, OM_FLR_DECL) |
|
static void | __omDebugFree (void *addr, void *size_bin, omTrackFlags_t flags, OM_FLR_DECL) |
|
omError_t | omTestAddrBin (void *addr, omBin bin, int check_level) |
|
omError_t | omTestBinAddrSize (void *addr, size_t size, int check_level) |
|
omError_t | omTestAddrSize (void *addr, size_t size, int check_level) |
|
omError_t | omTestBinAddr (void *addr, int check_level) |
|
omError_t | omTestAddr (void *addr, int check_level) |
|
omError_t | omtestAddrSize (void *addr, size_t size, int check_level) |
|
omError_t | omtestAddr (void *addr, int check_level) |
|
omError_t | omTestAddrAlignedBin (void *addr, omBin bin, int check_level) |
|
omError_t | omTestAddrAlignedSize (void *addr, size_t size, int check_level) |
|
omError_t | omTestAddrAligned (void *addr, int check_level) |
|
omError_t | omtestAddrAlignedSize (void *addr, size_t size, int check_level) |
|
omError_t | omtestAddrAligned (void *addr, int check_level) |
|
omError_t | omTestBin (omBin bin, int check_level) |
|
omError_t | omTestMemory (int check_level) |
|
void * | _omDebugAlloc (void *size_bin, omTrackFlags_t flags, OM_CTFL_DECL) |
|
void * | _omDebugRealloc (void *old_addr, void *old_size_bin, void *new_size_bin, omTrackFlags_t old_flags, omTrackFlags_t new_flags, OM_CTFL_DECL) |
|
void | _omDebugFree (void *addr, void *size_bin, omTrackFlags_t flags, OM_CFL_DECL) |
|
void * | _omDebugMemDup (void *addr, omTrackFlags_t flags, OM_CTFL_DECL) |
|
char * | _omDebugStrDup (const char *addr, OM_TFL_DECL) |
|
omError_t | _omDebugAddr (void *addr, void *bin_size, omTrackFlags_t flags, OM_CFL_DECL) |
|
omError_t | _omDebugMemory (OM_CFL_DECL) |
|
omError_t | _omDebugBin (omBin bin, OM_CFL_DECL) |
|
static omBin | omGetOrigSpecBinOfAddr (void *addr) |
|
void | omFreeKeptAddrFromBin (omBin bin) |
|
void | omFreeKeptAddr () |
|
◆ MAX
#define MAX |
( |
|
a, |
|
|
|
b |
|
) |
| (a > b ? a : b) |
◆ MIN
#define MIN |
( |
|
a, |
|
|
|
b |
|
) |
| (a < b ? a : b) |
◆ OM_CLFL
#define OM_CLFL check_level OM_FL_KOMMA OM_FL |
◆ __omDebugAlloc()
static void * __omDebugAlloc |
( |
void * |
size_bin, |
|
|
omTrackFlags_t |
flags, |
|
|
char |
track, |
|
|
OM_FLR_DECL |
|
|
) |
| |
|
static |
Definition at line 300 of file omDebug.c.
303 *******************************************************************/
311 o_addr = omAllocTrackAddr(size_bin,
flags, track, OM_FLR_VAL);
327 size_t o_size = (
flags &
OM_FBIN ? ((
omBin)size_bin)->sizeW << LOG_SIZEOF_LONG : (size_bin !=
NULL ? (size_t) size_bin: 1));
330 #ifdef OM_ALIGNMENT_NEEDS_WORK
339 #ifdef OM_ALIGNMENT_NEEDS_WORK
◆ __omDebugFree()
static void __omDebugFree |
( |
void * |
addr, |
|
|
void * |
size_bin, |
|
|
omTrackFlags_t |
flags, |
|
|
OM_FLR_DECL |
|
|
) |
| |
|
static |
Definition at line 461 of file omDebug.c.
474 addr = omMarkAsFreeTrackAddr(addr, 1, &
flags, OM_FLR_VAL);
499 *((
void**) addr) =
NULL;
527 omMarkAsFreeTrackAddr(addr, 0, &
flags, OM_FLR_VAL);
528 omFreeTrackAddr(addr);
◆ __omDebugRealloc()
static void * __omDebugRealloc |
( |
void * |
old_addr, |
|
|
void * |
old_size_bin, |
|
|
void * |
new_size_bin, |
|
|
omError_t |
old_status, |
|
|
omTrackFlags_t |
old_flags, |
|
|
omTrackFlags_t |
new_flags, |
|
|
char |
track, |
|
|
OM_FLR_DECL |
|
|
) |
| |
|
static |
Definition at line 348 of file omDebug.c.
357 size_t old_size = (old_flags &
OM_FSIZE ? (size_t) old_size_bin :
365 new_addr =
__omDebugAlloc(new_size_bin, new_flags, track, OM_FLR_VAL);
370 new_addr =
__omDebugAlloc(new_size_bin, new_flags, track, OM_FLR_VAL);
374 memcpy(new_addr, old_addr, (old_size < new_size ? old_size : new_size));
376 if ((new_flags &
OM_FZERO) && new_size > old_size)
377 memset((
char *)new_addr + old_size, 0, new_size - old_size);
379 __omDebugFree(old_addr, old_size_bin, old_flags, OM_FLR_VAL);
396 new_size = (size_t) new_size_bin;
397 if (new_size == 0) new_size = 1;
402 size_t old_size = (size_t) old_size_bin;
406 #ifdef OM_ALIGNMENT_NEEDS_WORK
415 #ifdef OM_ALIGNMENT_NEEDS_WORK
427 #ifdef OM_ALIGNMENT_NEEDS_WORK
436 #ifdef OM_ALIGNMENT_NEEDS_WORK
◆ _omDebugAddr()
◆ _omDebugAlloc()
void* _omDebugAlloc |
( |
void * |
size_bin, |
|
|
omTrackFlags_t |
flags, |
|
|
OM_CTFL_DECL |
|
|
) |
| |
Definition at line 107 of file omDebug.c.
139 #ifdef OM_INTERNAL_DEBUG
◆ _omDebugBin()
◆ _omDebugFree()
void _omDebugFree |
( |
void * |
addr, |
|
|
void * |
size_bin, |
|
|
omTrackFlags_t |
flags, |
|
|
OM_CFL_DECL |
|
|
) |
| |
Definition at line 179 of file omDebug.c.
193 #ifdef OM_INTERNAL_DEBUG
◆ _omDebugMemDup()
void* _omDebugMemDup |
( |
void * |
addr, |
|
|
omTrackFlags_t |
flags, |
|
|
OM_CTFL_DECL |
|
|
) |
| |
Definition at line 198 of file omDebug.c.
224 #ifdef OM_INTERNAL_DEBUG
◆ _omDebugMemory()
◆ _omDebugRealloc()
void* _omDebugRealloc |
( |
void * |
old_addr, |
|
|
void * |
old_size_bin, |
|
|
void * |
new_size_bin, |
|
|
omTrackFlags_t |
old_flags, |
|
|
omTrackFlags_t |
new_flags, |
|
|
OM_CTFL_DECL |
|
|
) |
| |
Definition at line 144 of file omDebug.c.
150 void* new_addr =
NULL;
168 new_size_bin = (
void*) 1;
173 status, old_flags, new_flags, track, OM_FLR_VAL);
174 #ifdef OM_INTERNAL_DEBUG
◆ _omDebugStrDup()
char* _omDebugStrDup |
( |
const char * |
addr, |
|
|
OM_TFL_DECL |
|
|
) |
| |
Definition at line 228 of file omDebug.c.
259 while ((addr[
i] !=
'\0') )
i++;
269 memcpy(ret, addr,
i);
272 #ifdef OM_INTERNAL_DEBUG
◆ omFreeKeptAddr()
Definition at line 605 of file omDebug.c.
626 next = *((
void**)addr);
632 omMarkAsFreeTrackAddr(addr, 0, &
flags, OM_FLR);
633 omFreeTrackAddr(addr);
◆ omFreeKeptAddrFromBin()
void omFreeKeptAddrFromBin |
( |
omBin |
bin | ) |
|
Definition at line 538 of file omDebug.c.
545 void* prev_addr =
NULL;
551 next_addr = *((
void**) addr);
554 if (prev_addr !=
NULL)
555 *((
void**) prev_addr) = next_addr;
564 omMarkAsFreeTrackAddr(addr, 0, &
flags, OM_FLR);
565 omFreeTrackAddr(addr);
583 next_addr = *((
void**) addr);
586 if (prev_addr !=
NULL)
587 *((
void**) prev_addr) = next_addr;
593 omMarkAsFreeTrackAddr(addr, 0, &
flags, OM_FLR);
594 omFreeTrackAddr(addr);
◆ omGetOrigSpecBinOfAddr()
static omBin omGetOrigSpecBinOfAddr |
( |
void * |
addr | ) |
|
|
static |
◆ omTestAddr()
omError_t omTestAddr |
( |
void * |
addr, |
|
|
int |
check_level |
|
) |
| |
◆ omtestAddr()
omError_t omtestAddr |
( |
void * |
addr, |
|
|
int |
check_level |
|
) |
| |
◆ omTestAddrAligned()
omError_t omTestAddrAligned |
( |
void * |
addr, |
|
|
int |
check_level |
|
) |
| |
◆ omtestAddrAligned()
omError_t omtestAddrAligned |
( |
void * |
addr, |
|
|
int |
check_level |
|
) |
| |
◆ omTestAddrAlignedBin()
omError_t omTestAddrAlignedBin |
( |
void * |
addr, |
|
|
omBin |
bin, |
|
|
int |
check_level |
|
) |
| |
◆ omTestAddrAlignedSize()
omError_t omTestAddrAlignedSize |
( |
void * |
addr, |
|
|
size_t |
size, |
|
|
int |
check_level |
|
) |
| |
◆ omtestAddrAlignedSize()
omError_t omtestAddrAlignedSize |
( |
void * |
addr, |
|
|
size_t |
size, |
|
|
int |
check_level |
|
) |
| |
◆ omTestAddrBin()
◆ omTestAddrSize()
omError_t omTestAddrSize |
( |
void * |
addr, |
|
|
size_t |
size, |
|
|
int |
check_level |
|
) |
| |
◆ omtestAddrSize()
omError_t omtestAddrSize |
( |
void * |
addr, |
|
|
size_t |
size, |
|
|
int |
check_level |
|
) |
| |
◆ omTestBin()
◆ omTestBinAddr()
omError_t omTestBinAddr |
( |
void * |
addr, |
|
|
int |
check_level |
|
) |
| |
◆ omTestBinAddrSize()
omError_t omTestBinAddrSize |
( |
void * |
addr, |
|
|
size_t |
size, |
|
|
int |
check_level |
|
) |
| |
◆ omTestMemory()
◆ om_AlwaysKeptAddrs
void* om_AlwaysKeptAddrs = NULL |
◆ om_KeptAddr
◆ om_LastKeptAddr
void* om_LastKeptAddr = NULL |
◆ om_NumberOfKeptAddrs
unsigned long om_NumberOfKeptAddrs = 0 |
|
static |
void * om_AlwaysKeptAddrs
#define __omTypeRealloc0AlignedSize
unsigned short omTrackFlags_t
size_t omSizeOfAddr(const void *addr)
#define __omTypeRealloc0(old_addr, new_type, new_addr, new_size)
static void * __omDebugAlloc(void *size_bin, omTrackFlags_t flags, char track, OM_FLR_DECL)
#define __omTypeRealloc0Aligned
#define __omTypeAllocAligned
#define omIsTrackAddr(addr)
#define __omFreeSize(addr, size)
omError_t omDoCheckAddr(void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL)
#define __omFreeBinAddr(addr)
omError_t omReportError(omError_t error, omError_t report_error, OM_FLR_DECL, const char *fmt,...)
omError_t omDoCheckBin(omBin bin, int normal_bin, char level, omError_t report, OM_FLR_DECL)
omError_t _omCheckAddr(void *addr, void *size_bin, omTrackFlags_t flags, char check, omError_t report, OM_FLR_DECL)
int status int void size_t count int const void size_t count const char int flags
#define __omTypeReallocAlignedSize
#define __omTypeAlloc0Bin(type, addr, bin)
#define __omTypeAlloc(type, addr, size)
#define omIsBinPageAddr(addr)
#define __omTypeReallocBin(old_addr, old_bin, new_type, new_addr, new_bin)
#define omMemcpyW(p1, p2, l)
#define __omTypeReallocSize(old_addr, old_size, new_type, new_addr, new_size)
#define __omTypeAlloc0(type, addr, size)
#define __omTypeAllocBin(type, addr, bin)
static omBin omGetOrigSpecBinOfAddr(void *addr)
omError_t _omCheckBin(omBin bin, int normal_bin, char check, omError_t report, OM_FLR_DECL)
static void __omDebugFree(void *addr, void *size_bin, omTrackFlags_t flags, OM_FLR_DECL)
#define __omTypeRealloc0Size(old_addr, old_size, new_type, new_addr, new_size)
omError_t _omCheckMemory(char check, omError_t report, OM_FLR_DECL)
static void * __omDebugRealloc(void *old_addr, void *old_size_bin, void *new_size_bin, omError_t old_status, omTrackFlags_t old_flags, omTrackFlags_t new_flags, char track, OM_FLR_DECL)
#define __omTypeReallocAligned
#define omIsBinAddrTrackAddr(addr)
static unsigned long om_NumberOfKeptAddrs
#define omGetTopBinOfAddr(addr)
#define omFindInGList(ptr, next, what, value)
#define __omTypeRealloc(old_addr, new_type, new_addr, new_size)
omError_t omReportAddrError(omError_t error, omError_t report, void *addr, void *bin_size, omTrackFlags_t flags, OM_FLR_DECL, const char *fmt,...)
#define __omTypeAlloc0Aligned
#define __omTypeRealloc0Bin(old_addr, old_bin, new_type, new_addr, new_bin)