aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
authorNot Zed <NotZed@HelixCode.com>2000-11-21 22:31:41 +0800
committerMichael Zucci <zucchi@src.gnome.org>2000-11-21 22:31:41 +0800
commitbb09c40e2f9dcca5a1dbf55f5bbc572d8b7bfb9d (patch)
treee55d0687a891cc3c98b7dd6eccd0c200ff429767 /e-util
parent8d9d1e00dd89221488084e51b4940469e8db4f4e (diff)
downloadgsoc2013-evolution-bb09c40e2f9dcca5a1dbf55f5bbc572d8b7bfb9d.tar.gz
gsoc2013-evolution-bb09c40e2f9dcca5a1dbf55f5bbc572d8b7bfb9d.tar.zst
gsoc2013-evolution-bb09c40e2f9dcca5a1dbf55f5bbc572d8b7bfb9d.zip
New function to strdup into a mempool.
2000-11-21 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_mempool_strdup): New function to strdup into a mempool. svn path=/trunk/; revision=6630
Diffstat (limited to 'e-util')
-rw-r--r--e-util/ChangeLog1
-rw-r--r--e-util/e-memory.c10
-rw-r--r--e-util/e-memory.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 2fbb4631a2..d370ef880e 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -2,6 +2,7 @@
* e-memory.c (e_memchunk_alloc0): New function to allocate a
zero'd out chunk.
+ (e_mempool_strdup): New function to strdup into a mempool.
2000-11-20 Not Zed <NotZed@HelixCode.com>
diff --git a/e-util/e-memory.c b/e-util/e-memory.c
index 2a3cd55771..37ec181ce9 100644
--- a/e-util/e-memory.c
+++ b/e-util/e-memory.c
@@ -427,6 +427,16 @@ void *e_mempool_alloc(MemPool *pool, int size)
}
}
+char *e_mempool_strdup(EMemPool *pool, const char *str)
+{
+ char *out;
+
+ out = e_mempool_alloc(pool, strlen(str));
+ strcpy(out, str);
+
+ return out;
+}
+
/**
* e_mempool_flush:
* @pool:
diff --git a/e-util/e-memory.h b/e-util/e-memory.h
index 3f1f2f0f4d..378c485530 100644
--- a/e-util/e-memory.h
+++ b/e-util/e-memory.h
@@ -46,6 +46,7 @@ typedef enum {
EMemPool *e_mempool_new(int blocksize, int threshold, EMemPoolFlags flags);
void *e_mempool_alloc(EMemPool *pool, int size);
+char *e_mempool_strdup(EMemPool *pool, const char *str);
void e_mempool_flush(EMemPool *pool, int freeall);
void e_mempool_destroy(EMemPool *pool);