X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=eglib%2Fsrc%2Fglib.h;h=74d5be01bab0a8c3e23fc0129d1b8a19d432fc45;hb=6474f8e6126933773a64374c6a38d662bf80d150;hp=84ab1ee3f87c0d015302a0993bae88926e9b97a0;hpb=ccc6d60a3373f07ed1e7a0e82ec3dbc1b5aef26b;p=mono.git diff --git a/eglib/src/glib.h b/eglib/src/glib.h index 84ab1ee3f87..74d5be01bab 100644 --- a/eglib/src/glib.h +++ b/eglib/src/glib.h @@ -1,6 +1,5 @@ #ifndef __GLIB_H #define __GLIB_H - #include #include #include @@ -9,6 +8,7 @@ #include #include + #ifdef _MSC_VER #pragma include_alias(, ) #endif @@ -126,6 +126,7 @@ void g_free (void *ptr); gpointer g_realloc (gpointer obj, gsize size); gpointer g_malloc (gsize x); gpointer g_malloc0 (gsize x); +gpointer g_calloc (gsize n, gsize x); gpointer g_try_malloc (gsize x); gpointer g_try_realloc (gpointer obj, gsize size); @@ -138,7 +139,7 @@ gpointer g_try_realloc (gpointer obj, gsize size); #define g_alloca(size) alloca (size) gpointer g_memdup (gconstpointer mem, guint byte_size); -static inline gchar *g_strdup (const gchar *str) { if (str) {return strdup (str);} return NULL; } +static inline gchar *g_strdup (const gchar *str) { if (str) { return (gchar*) g_memdup(str, (guint)strlen (str) + 1); } return NULL; } gchar **g_strdupv (gchar **str_array); typedef struct { @@ -146,11 +147,13 @@ typedef struct { gpointer (*realloc) (gpointer mem, gsize n_bytes); void (*free) (gpointer mem); gpointer (*calloc) (gsize n_blocks, gsize n_block_bytes); - gpointer (*try_malloc) (gsize n_bytes); - gpointer (*try_realloc) (gpointer mem, gsize n_bytes); } GMemVTable; -#define g_mem_set_vtable(x) +#if defined (G_OVERRIDABLE_ALLOCATORS) +void g_mem_set_vtable (GMemVTable* vtable); +#else +#define g_mem_set_vtable (x) +#endif struct _GMemChunk { guint alloc_size; @@ -227,7 +230,11 @@ gint g_snprintf (gchar *string, gulong n, gchar const *format, .. #define g_vfprintf vfprintf #define g_vsprintf vsprintf #define g_vsnprintf vsnprintf +#if defined (G_OVERRIDABLE_ALLOCATORS) || !defined (HAVE_VASPRINTF) +gint g_vasprintf (gchar **ret, const gchar *fmt, va_list ap); +#else #define g_vasprintf vasprintf +#endif gsize g_strlcpy (gchar *dest, const gchar *src, gsize dest_size); gchar *g_stpcpy (gchar *dest, const char *src);