summaryrefslogtreecommitdiff
path: root/src/mem.c
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2012-04-21 11:03:35 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2012-04-21 11:05:38 +0200
commit674f398ee9739da5b8f2a155f42322e69eada91f (patch)
tree6abcf5f2d4932d5ca5f838c2140b3304c31b4d0e /src/mem.c
parent315b33540a008fba0af1cdbad5d3448d98a6e73c (diff)
downloadcalcurse-674f398ee9739da5b8f2a155f42322e69eada91f.zip
src/mem.c: Skip dbg_*() if memory stats are disabled
These functions only need to be compiled if calcurse is built with "--enable-memory-debug". Tell the preprocessor to strip them if memory debugging/stats are disabled. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/mem.c')
-rw-r--r--src/mem.c93
1 files changed, 48 insertions, 45 deletions
diff --git a/src/mem.c b/src/mem.c
index 44ebc62..f1ea97c 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -41,6 +41,8 @@
#include "calcurse.h"
+#ifdef CALCURSE_MEMORY_DEBUG
+
enum {
BLK_STATE,
BLK_SIZE,
@@ -67,49 +69,8 @@ struct mem_stats {
static struct mem_stats mstats;
+#endif /* CALCURSE_MEMORY_DEBUG */
-static unsigned
-stats_add_blk (size_t size, const char *pos)
-{
- struct mem_blk *o, **i;
-
- o = malloc (sizeof (*o));
- EXIT_IF (o == NULL, _("could not allocate memory to store block info"));
-
- mstats.ncall++;
-
- o->pos = pos;
- o->size = (unsigned)size;
- o->next = 0;
-
- for (i = &mstats.blk; *i; i = &(*i)->next)
- ;
- o->id = mstats.ncall;
- *i = o;
-
- return o->id;
-}
-
-static void
-stats_del_blk (unsigned id)
-{
- struct mem_blk *o, **i;
-
- i = &mstats.blk;
- for (o = mstats.blk; o; o = o->next)
- {
- if (o->id == id)
- {
- *i = o->next;
- free (o);
- return;
- }
- i = &o->next;
- }
-
- EXIT (_("Block not found"));
- /* NOTREACHED */
-}
void *
xmalloc (size_t size)
@@ -170,6 +131,51 @@ xfree (void *p)
free (p);
}
+#ifdef CALCURSE_MEMORY_DEBUG
+
+static unsigned
+stats_add_blk (size_t size, const char *pos)
+{
+ struct mem_blk *o, **i;
+
+ o = malloc (sizeof (*o));
+ EXIT_IF (o == NULL, _("could not allocate memory to store block info"));
+
+ mstats.ncall++;
+
+ o->pos = pos;
+ o->size = (unsigned)size;
+ o->next = 0;
+
+ for (i = &mstats.blk; *i; i = &(*i)->next)
+ ;
+ o->id = mstats.ncall;
+ *i = o;
+
+ return o->id;
+}
+
+static void
+stats_del_blk (unsigned id)
+{
+ struct mem_blk *o, **i;
+
+ i = &mstats.blk;
+ for (o = mstats.blk; o; o = o->next)
+ {
+ if (o->id == id)
+ {
+ *i = o->next;
+ free (o);
+ return;
+ }
+ i = &o->next;
+ }
+
+ EXIT (_("Block not found"));
+ /* NOTREACHED */
+}
+
void *
dbg_malloc (size_t size, const char *pos)
{
@@ -278,9 +284,6 @@ dbg_free (void *ptr, const char *pos)
mstats.nfree += size;
}
-
-#ifdef CALCURSE_MEMORY_DEBUG
-
static void
dump_block_info (struct mem_blk *blk)
{