summaryrefslogtreecommitdiff
path: root/glib/gutils.c
diff options
context:
space:
mode:
authorTim Janik <timj@psynet.net>1998-01-21 00:46:48 +0000
committerTim Janik <timj@src.gnome.org>1998-01-21 00:46:48 +0000
commit3ae8c300bb243fb611efe8b0a3257ed163f8a834 (patch)
treeed4dde932641e3f811e9615cf4d7cf9a8298e6a6 /glib/gutils.c
parent18ee22d93be260470f3dcbfa34205a1dc4bae31b (diff)
downloadgdk-pixbuf-3ae8c300bb243fb611efe8b0a3257ed163f8a834.tar.gz
Applied patch from (Raja R Harinath <harinath@cs.umn.edu>) to add function
Wed Jan 21 01:13:25 1998 Tim Janik <timj@psynet.net> * Applied patch from (Raja R Harinath <harinath@cs.umn.edu>) to add function g_snprintf. * configure.in (AC_CHECK_FUNCS): Check for vsnprintf. * glib.h: Add prototype for g_snprintf. * glibconfig.h.in: Add HAVE_VSNPRINTF. * gutils.c (g_snprintf): new function.
Diffstat (limited to 'glib/gutils.c')
-rw-r--r--glib/gutils.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/glib/gutils.c b/glib/gutils.c
index c5dc9965e..87c3964b5 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -804,6 +804,41 @@ g_set_print_handler (GPrintFunc func)
old_print_func = print_func;
print_func = func;
-
+
return old_print_func;
}
+
+gint
+g_snprintf (gchar *str,
+ gulong n,
+ gchar const *fmt,
+ ...)
+{
+#ifdef HAVE_VSNPRINTF
+ va_list args;
+ gint retval;
+
+ va_start (args, fmt);
+ retval = vsnprintf (str, n, fmt, args);
+ va_end (args);
+
+ return retval;
+
+#else
+ gchar *printed;
+ va_list args, args2;
+
+ va_start (args, fmt);
+ va_start (args2, fmt);
+
+ printed = g_vsprintf (fmt, &args, &args2);
+ strncpy (str, printed, n);
+ str[n-1] = '\0';
+
+ va_end (args2);
+ va_end (args);
+
+ return strlen (str);
+
+#endif
+}