From 56a50a3029bed0f27397bff770cfb29897bb1185 Mon Sep 17 00:00:00 2001 From: Aleksey Kliger Date: Wed, 28 Sep 2016 17:21:53 -0400 Subject: [PATCH] [image] Add mono_image_strdup_printf and mono_image_strdup_vprintf --- mono/metadata/image.c | 25 +++++++++++++++++++++++++ mono/metadata/metadata-internals.h | 6 ++++++ 2 files changed, 31 insertions(+) diff --git a/mono/metadata/image.c b/mono/metadata/image.c index ae1b204ca26..057021c16be 100644 --- a/mono/metadata/image.c +++ b/mono/metadata/image.c @@ -2526,6 +2526,31 @@ mono_image_strdup (MonoImage *image, const char *s) return res; } +char* +mono_image_strdup_vprintf (MonoImage *image, const char *format, va_list args) +{ + char *buf; + mono_image_lock (image); + buf = mono_mempool_strdup_vprintf (image->mempool, format, args); + mono_image_unlock (image); +#ifndef DISABLE_PERFCOUNTERS + mono_perfcounters->loader_bytes += strlen (buf); +#endif + return buf; +} + +char* +mono_image_strdup_printf (MonoImage *image, const char *format, ...) +{ + char *buf; + va_list args; + + va_start (args, format); + buf = mono_image_strdup_vprintf (image, format, args); + va_end (args); + return buf; +} + GList* g_list_prepend_image (MonoImage *image, GList *list, gpointer data) { diff --git a/mono/metadata/metadata-internals.h b/mono/metadata/metadata-internals.h index a529a3f3642..8852d29458c 100644 --- a/mono/metadata/metadata-internals.h +++ b/mono/metadata/metadata-internals.h @@ -639,6 +639,12 @@ mono_image_alloc0 (MonoImage *image, guint size); char* mono_image_strdup (MonoImage *image, const char *s); +char* +mono_image_strdup_vprintf (MonoImage *image, const char *format, va_list args); + +char* +mono_image_strdup_printf (MonoImage *image, const char *format, ...); + GList* g_list_prepend_image (MonoImage *image, GList *list, gpointer data); -- 2.11.4.GIT