diff options
author | Tim Janik <timj@psynet.net> | 1998-01-21 00:46:48 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-01-21 00:46:48 +0000 |
commit | 3ae8c300bb243fb611efe8b0a3257ed163f8a834 (patch) | |
tree | ed4dde932641e3f811e9615cf4d7cf9a8298e6a6 /glib/gutils.c | |
parent | 18ee22d93be260470f3dcbfa34205a1dc4bae31b (diff) | |
download | gdk-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.c | 37 |
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 +} |