X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgutils.c;h=5e558e4669b0b5d5baeb20310eb3e0e16023a0b3;hb=87c7aeb93bd654776f59805a342ad913031034f3;hp=513af9f39c8257a2c32438293826eb872fc52a0d;hpb=c8a28b935ca605ece11c65564ad1d3918786dd07;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gutils.c b/glib/gutils.c index 513af9f..5e558e4 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -155,7 +155,13 @@ g_snprintf (gchar *str, va_start (args, fmt); retval = vsnprintf (str, n, fmt, args); va_end (args); - + + if (retval < 0) + { + str[n-1] = '\0'; + retval = strlen (str); + } + return retval; #else /* !HAVE_VSNPRINTF */ gchar *printed; @@ -185,6 +191,12 @@ g_vsnprintf (gchar *str, retval = vsnprintf (str, n, fmt, args); + if (retval < 0) + { + str[n-1] = '\0'; + retval = strlen (str); + } + return retval; #else /* !HAVE_VSNPRINTF */ gchar *printed;