Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / mempool-internals.h
index a317a669b9c63f6470fc2239fcfa4713625119e5..3458232139c4d3a83dac251c024476ef30e19fd8 100644 (file)
@@ -1,3 +1,7 @@
+/**
+ * \file
+ */
+
 #ifndef _MONO_MEMPOOL_INTERNALS_H_
 #define _MONO_MEMPOOL_INTERNALS_H_
 
@@ -11,7 +15,7 @@ g_list_prepend_mempool (MonoMemPool *mp, GList *list, gpointer data)
 {
        GList *new_list;
        
-       new_list = mono_mempool_alloc (mp, sizeof (GList));
+       new_list = (GList *) mono_mempool_alloc (mp, sizeof (GList));
        new_list->data = data;
        new_list->prev = list ? list->prev : NULL;
     new_list->next = list;
@@ -29,7 +33,7 @@ g_slist_prepend_mempool (MonoMemPool *mp, GSList *list, gpointer  data)
 {
        GSList *new_list;
        
-       new_list = mono_mempool_alloc (mp, sizeof (GSList));
+       new_list = (GSList *) mono_mempool_alloc (mp, sizeof (GSList));
        new_list->data = data;
        new_list->next = list;
 
@@ -42,7 +46,7 @@ g_slist_append_mempool (MonoMemPool *mp, GSList *list, gpointer data)
        GSList *new_list;
        GSList *last;
 
-       new_list = mono_mempool_alloc (mp, sizeof (GSList));
+       new_list = (GSList *) mono_mempool_alloc (mp, sizeof (GSList));
        new_list->data = data;
        new_list->next = NULL;
 
@@ -57,7 +61,27 @@ g_slist_append_mempool (MonoMemPool *mp, GSList *list, gpointer data)
                return new_list;
 }
 
+static inline GList*
+g_list_append_mempool (MonoMemPool *mp, GList *list, gpointer data)
+{
+       GList *new_list;
+
+       new_list = (GList *) mono_mempool_alloc0 (mp, sizeof (GList));
+       new_list->data = data;
+       new_list->prev = g_list_last (list);
+       if (new_list->prev)
+               new_list->prev->next = new_list;
+
+       return list ? list : new_list;
+}
+
+char*
+mono_mempool_strdup_vprintf (MonoMemPool *pool, const char *format, va_list args);
+
+char*
+mono_mempool_strdup_printf (MonoMemPool *pool, const char *format, ...) MONO_ATTR_FORMAT_PRINTF(2,3);;
+
 long
-mono_mempool_get_bytes_allocated (void) MONO_INTERNAL;
+mono_mempool_get_bytes_allocated (void);
 
 #endif