1 /* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file */
2 
3 #include "lib.h"
4 
5 pool_t default_pool = &static_system_pool;
6 
i_malloc(size_t size)7 void *i_malloc(size_t size)
8 {
9 	return p_malloc(default_pool, size);
10 }
11 
i_realloc(void * mem,size_t old_size,size_t new_size)12 void *i_realloc(void *mem, size_t old_size, size_t new_size)
13 {
14 	return p_realloc(default_pool, mem, old_size, new_size);
15 }
16 
i_strdup(const char * str)17 char *i_strdup(const char *str)
18 {
19 	return p_strdup(default_pool, str);
20 }
21 
i_memdup(const void * data,size_t size)22 void *i_memdup(const void *data, size_t size)
23 {
24 	return p_memdup(default_pool, data, size);
25 }
26 
i_strdup_empty(const char * str)27 char *i_strdup_empty(const char *str)
28 {
29 	return p_strdup_empty(default_pool, str);
30 }
31 
i_strdup_until(const void * str,const void * end)32 char *i_strdup_until(const void *str, const void *end)
33 {
34 	return p_strdup_until(default_pool, str, end);
35 }
36 
i_strndup(const void * str,size_t max_chars)37 char *i_strndup(const void *str, size_t max_chars)
38 {
39 	i_assert(str != NULL);
40 	return p_strndup(default_pool, str, max_chars);
41 }
42 
i_strdup_printf(const char * format,...)43 char *i_strdup_printf(const char *format, ...)
44 {
45 	va_list args;
46 	char *ret;
47 
48 	va_start(args, format);
49 	ret = p_strdup_vprintf(default_pool, format, args);
50 	va_end(args);
51 	return ret;
52 }
53 
i_strdup_vprintf(const char * format,va_list args)54 char *i_strdup_vprintf(const char *format, va_list args)
55 {
56 	return p_strdup_vprintf(default_pool, format, args);
57 }
58 
i_strconcat(const char * str1,...)59 char *i_strconcat(const char *str1, ...)
60 {
61 	va_list args;
62 	char *ret;
63 	size_t len;
64 
65 	i_assert(str1 != NULL);
66 
67 	va_start(args, str1);
68 
69 	T_BEGIN {
70 		const char *temp = vstrconcat(str1, args, &len);
71 		t_buffer_alloc(len);
72 		ret = p_malloc(default_pool, len);
73 		memcpy(ret, temp, len);
74 	} T_END;
75 
76 	va_end(args);
77 	return ret;
78 }
79