24ddc7 | 1998-03-28 | Henrik Grubbström (Grubba) | | |
a4033e | 2000-04-14 | Fredrik Hübinette (Hubbe) | | * $Id: dmalloc.h,v 1.25 2000/04/15 05:05:28 hubbe Exp $
|
24ddc7 | 1998-03-28 | Henrik Grubbström (Grubba) | | */
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | |
|
1e0692 | 1998-10-12 | Fredrik Hübinette (Hubbe) | | extern char *debug_xalloc(long);
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | |
#define DMALLOC_LOCATION() ("S" __FILE__ ":" DEFINETOSTR(__LINE__) )
|
1e0692 | 1998-10-12 | Fredrik Hübinette (Hubbe) | | #ifdef DEBUG_MALLOC
|
2043ba | 1998-02-10 | Fredrik Hübinette (Hubbe) | | struct memhdr;
void dump_memhdr_locations(struct memhdr *from,
|
a4033e | 2000-04-14 | Fredrik Hübinette (Hubbe) | | struct memhdr *notfrom,
int indent);
|
2043ba | 1998-02-10 | Fredrik Hübinette (Hubbe) | | struct memhdr *alloc_memhdr(void);
|
421801 | 1999-01-31 | Fredrik Hübinette (Hubbe) | | void really_free_memhdr(struct memhdr *mh);
|
2043ba | 1998-02-10 | Fredrik Hübinette (Hubbe) | | void add_marks_to_memhdr(struct memhdr *to,void *ptr);
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | | extern int verbose_debug_malloc;
extern int verbose_debug_exit;
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | extern void dmalloc_register(void *, int, char *);
|
424d9c | 1999-05-02 | Fredrik Hübinette (Hubbe) | | extern int dmalloc_unregister(void *, int);
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | extern void *debug_malloc(size_t, char *);
extern void *debug_calloc(size_t, size_t, char *);
extern void *debug_realloc(void *, size_t, char *);
extern void debug_free(void *, char *,int);
extern char *debug_strdup(const char *, char *);
|
0e8861 | 1998-04-16 | Fredrik Hübinette (Hubbe) | | extern void reset_debug_malloc(void);
|
424d9c | 1999-05-02 | Fredrik Hübinette (Hubbe) | | extern void dmalloc_free(void *p);
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | extern int debug_malloc_touch_fd(int, char *);
extern int debug_malloc_register_fd(int, char *);
extern int debug_malloc_close_fd(int, char *);
|
ec7d6d | 1999-05-13 | Fredrik Hübinette (Hubbe) | |
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | void *debug_malloc_update_location(void *, char *);
|
25479a | 2000-03-07 | Fredrik Hübinette (Hubbe) | | void search_all_memheaders_for_references(void);
|
8975b8 | 1999-10-18 | Fredrik Hübinette (Hubbe) | |
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | void *debug_malloc_name(void *p, char *fn, int line);
|
1e4e5f | 2000-04-07 | Fredrik Hübinette (Hubbe) | | int debug_malloc_copy_names(void *p, void *p2);
char *dmalloc_find_name(void *p);
|
8975b8 | 1999-10-18 | Fredrik Hübinette (Hubbe) | |
|
2e6653 | 1999-10-30 | Martin Stjernholm | |
#ifdef strdup
#undef strdup
#endif
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | #define malloc(x) debug_malloc((x), DMALLOC_LOCATION())
#define calloc(x, y) debug_calloc((x), (y), DMALLOC_LOCATION())
#define realloc(x, y) debug_realloc((x), (y), DMALLOC_LOCATION())
#define free(x) debug_free((x), DMALLOC_LOCATION(),0)
#define dmfree(x) debug_free((x),DMALLOC_LOCATION(),1)
#define strdup(x) debug_strdup((x), DMALLOC_LOCATION())
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | | #define DO_IF_DMALLOC(X) X
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | #define debug_malloc_touch(X) debug_malloc_update_location((X),DMALLOC_LOCATION())
#define debug_malloc_pass(X) debug_malloc_update_location((X),DMALLOC_LOCATION())
|
fe6bb6 | 2000-03-26 | Henrik Grubbström (Grubba) | | #define xalloc(X) ((char *)debug_malloc_pass(debug_xalloc(X)))
|
a4033e | 2000-04-14 | Fredrik Hübinette (Hubbe) | | void debug_malloc_dump_references(void *x, int indent, int depth, int flags);
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | #define dmalloc_touch(TYPE,X) ((TYPE)debug_malloc_update_location((X),DMALLOC_LOCATION()))
|
71624b | 1999-10-22 | Henrik Grubbström (Grubba) | | #define dmalloc_touch_svalue(X) do { struct svalue *_tmp = (X); if ((X)->type <= MAX_REF_TYPE) { debug_malloc_touch(_tmp->u.refs); } } while(0)
|
424d9c | 1999-05-02 | Fredrik Hübinette (Hubbe) | |
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | #define DMALLOC_LINE_ARGS ,char * dmalloc_location
#define DMALLOC_POS ,DMALLOC_LOCATION()
#define DMALLOC_PROXY_ARGS ,dmalloc_location
|
409394 | 1999-05-03 | Fredrik Hübinette (Hubbe) | | void dmalloc_accept_leak(void *);
|
20f7a0 | 2000-03-20 | Fredrik Hübinette (Hubbe) | | #define dmalloc_touch_fd(X) debug_malloc_touch_fd((X),DMALLOC_LOCATION())
#define dmalloc_register_fd(X) debug_malloc_register_fd((X),DMALLOC_LOCATION())
#define dmalloc_close_fd(X) debug_malloc_close_fd((X),DMALLOC_LOCATION())
|
1e4e5f | 2000-04-07 | Fredrik Hübinette (Hubbe) | |
struct memory_map;
void dmalloc_set_mmap(void *ptr, struct memory_map *m);
void dmalloc_set_mmap_template(void *ptr, struct memory_map *m);
void dmalloc_set_mmap_from_template(void *p, void *p2);
|
a4033e | 2000-04-14 | Fredrik Hübinette (Hubbe) | | void dmalloc_describe_location(void *p, int offset, int indent);
|
1e4e5f | 2000-04-07 | Fredrik Hübinette (Hubbe) | | struct memory_map *dmalloc_alloc_mmap(char *name, int line);
void dmalloc_add_mmap_entry(struct memory_map *m,
char *name,
int offset,
int size,
int count,
struct memory_map *recur,
int recur_offset);
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | | #else
|
ec7d6d | 1999-05-13 | Fredrik Hübinette (Hubbe) | | #define dmalloc_touch_fd(X) (X)
#define dmalloc_register_fd(X) (X)
#define dmalloc_close_fd(X) (X)
|
424d9c | 1999-05-02 | Fredrik Hübinette (Hubbe) | | #define dmfree(X) free((X))
|
409394 | 1999-05-03 | Fredrik Hübinette (Hubbe) | | #define dmalloc_accept_leak(X) (void)(X)
|
424d9c | 1999-05-02 | Fredrik Hübinette (Hubbe) | | #define DMALLOC_LINE_ARGS
#define DMALLOC_POS
#define DMALLOC_PROXY_ARGS
|
a4033e | 2000-04-14 | Fredrik Hübinette (Hubbe) | | #define debug_malloc_dump_references(X,x,y,z)
|
24dd88 | 1998-01-27 | Fredrik Hübinette (Hubbe) | | #define xalloc debug_xalloc
|
3c0c28 | 1998-01-26 | Fredrik Hübinette (Hubbe) | | #define dbm_main main
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | | #define DO_IF_DMALLOC(X)
|
10434f | 2000-03-26 | Fredrik Hübinette (Hubbe) | | #define debug_malloc_update_location(X,Y) (X)
|
3c0c28 | 1998-01-26 | Fredrik Hübinette (Hubbe) | | #define debug_malloc_touch(X)
#define debug_malloc_pass(X) (X)
|
3c43b8 | 1999-03-19 | Fredrik Hübinette (Hubbe) | | #define dmalloc_touch(TYPE,X) (X)
|
71624b | 1999-10-22 | Henrik Grubbström (Grubba) | | #define dmalloc_touch_svalue(X)
|
10434f | 2000-03-26 | Fredrik Hübinette (Hubbe) | | #define dmalloc_register(X,Y,Z)
|
424d9c | 1999-05-02 | Fredrik Hübinette (Hubbe) | | #define dmalloc_unregister(X,Y)
|
e7f839 | 2000-03-21 | Martin Stjernholm | | #define debug_free(X,Y,Z) free((X))
|
8975b8 | 1999-10-18 | Fredrik Hübinette (Hubbe) | | #define debug_malloc_name(P,FN,LINE)
|
1e4e5f | 2000-04-07 | Fredrik Hübinette (Hubbe) | | #define debug_malloc_copy_names(p,p2) 0
|
25479a | 2000-03-07 | Fredrik Hübinette (Hubbe) | | #define search_all_memheaders_for_references()
|
1e4e5f | 2000-04-07 | Fredrik Hübinette (Hubbe) | | #define dmalloc_find_name(X) "unknown (no dmalloc)"
|
61e9a0 | 1998-01-25 | Fredrik Hübinette (Hubbe) | | #endif
|