summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-18 18:01:27 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-18 18:01:27 +0000
commitfdbfb01d85f49717c3b8928d97bc16c4e7b860d7 (patch)
treec64e1c66f0bf969935997fd0c31a03c05d07fd64
parenta681a90c2166722fedb52ecbbd4f9c56f97ebcd3 (diff)
changes to make memory profiling easier
-rw-r--r--src/bencode.c8
-rw-r--r--src/main.c7
-rw-r--r--src/trg-client.c2
3 files changed, 12 insertions, 5 deletions
diff --git a/src/bencode.c b/src/bencode.c
index 0f26f53..5f9c030 100644
--- a/src/bencode.c
+++ b/src/bencode.c
@@ -34,7 +34,7 @@
static be_node *be_alloc(be_type type)
{
- be_node *ret = calloc(1, sizeof(be_node));
+ be_node *ret = g_malloc0(sizeof(be_node));
if (ret)
ret->type = type;
return ret;
@@ -83,7 +83,7 @@ static char *_be_decode_str(const char **data, gint64 * data_len)
len = slen;
if (**data == ':') {
- char *_ret = malloc(sizeof(sllen) + len + 1);
+ char *_ret = g_malloc(sizeof(sllen) + len + 1);
memcpy(_ret, &sllen, sizeof(sllen));
ret = _ret + sizeof(sllen);
memcpy(ret, *data + 1, len);
@@ -112,7 +112,7 @@ static be_node *_be_decode(const char **data, gint64 * data_len)
++(*data);
while (**data != 'e') {
ret->val.l =
- realloc(ret->val.l, (i + 2) * sizeof(*ret->val.l));
+ g_realloc(ret->val.l, (i + 2) * sizeof(*ret->val.l));
ret->val.l[i] = _be_decode(data, data_len);
if (!ret->val.l[i])
break;
@@ -134,7 +134,7 @@ static be_node *_be_decode(const char **data, gint64 * data_len)
++(*data);
while (**data != 'e') {
ret->val.d =
- realloc(ret->val.d, (i + 2) * sizeof(*ret->val.d));
+ g_realloc(ret->val.d, (i + 2) * sizeof(*ret->val.d));
ret->val.d[i].key = _be_decode_str(data, data_len);
ret->val.d[i].val = _be_decode(data, data_len);
if (!ret->val.l[i])
diff --git a/src/main.c b/src/main.c
index e64f35c..63e9ca2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -98,6 +98,13 @@ int main(int argc, char *argv[])
TrgMainWindow *window;
TrgClient *client;
+#ifdef DEBUG
+ //GMemVTable gmvt = {malloc,realloc,free,calloc,malloc,realloc};
+ //g_mem_set_vtable(&gmvt);
+ g_mem_set_vtable(glib_mem_profiler_table);
+ g_mem_profile();
+#endif
+
g_type_init();
g_thread_init(NULL);
gtk_init(&argc, &argv);
diff --git a/src/trg-client.c b/src/trg-client.c
index 6ddca81..09db891 100644
--- a/src/trg-client.c
+++ b/src/trg-client.c
@@ -459,7 +459,7 @@ http_receive_callback(void *ptr, size_t size, size_t nmemb, void *data)
size_t realsize = size * nmemb;
trg_response *mem = (trg_response *) data;
- mem->raw = realloc(mem->raw, mem->size + realsize + 1);
+ mem->raw = g_realloc(mem->raw, mem->size + realsize + 1);
if (mem->raw) {
memcpy(&(mem->raw[mem->size]), ptr, realsize);
mem->size += realsize;