diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-05-04 18:55:12 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-05-04 18:55:12 +0400 |
commit | 05556b30f9f309abc532f26c86a2e8266c2e72c7 (patch) | |
tree | 70007f830b786030de17e38df04754907094bb81 /src/mem_pool.c | |
parent | e30ea48c912be20ddc9c327205d146e46d60535e (diff) | |
download | rspamd-05556b30f9f309abc532f26c86a2e8266c2e72c7.tar.gz rspamd-05556b30f9f309abc532f26c86a2e8266c2e72c7.zip |
* Add counters for rspamd symbols
* Fix shared hashes
Diffstat (limited to 'src/mem_pool.c')
-rw-r--r-- | src/mem_pool.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/mem_pool.c b/src/mem_pool.c index 66d9ace19..df4c544f9 100644 --- a/src/mem_pool.c +++ b/src/mem_pool.c @@ -200,6 +200,16 @@ memory_pool_alloc0 (memory_pool_t *pool, memory_pool_ssize_t size) return pointer; } +void * +memory_pool_alloc0_shared (memory_pool_t *pool, memory_pool_ssize_t size) +{ + void *pointer = memory_pool_alloc_shared (pool, size); + if (pointer) { + bzero (pointer, size); + } + return pointer; +} + char * memory_pool_strdup (memory_pool_t *pool, const char *src) { @@ -212,10 +222,29 @@ memory_pool_strdup (memory_pool_t *pool, const char *src) len = strlen (src); newstr = memory_pool_alloc (pool, len + 1); - memcpy (newstr, src, len + 1); + memcpy (newstr, src, len); + newstr[len] = '\0'; + return newstr; +} + +char * +memory_pool_strdup_shared (memory_pool_t *pool, const char *src) +{ + memory_pool_ssize_t len; + char *newstr; + + if (src == NULL) { + return NULL; + } + + len = strlen (src); + newstr = memory_pool_alloc_shared (pool, len + 1); + memcpy (newstr, src, len); + newstr[len] = '\0'; return newstr; } + void * memory_pool_alloc_shared (memory_pool_t *pool, memory_pool_ssize_t size) { |