glib r8021 - in trunk: . glib



Author: matthiasc
Date: Sun Mar 29 19:08:57 2009
New Revision: 8021
URL: http://svn.gnome.org/viewvc/glib?rev=8021&view=rev

Log:
        * glib/gmessages.c (g_logv): Copy a va_list when using it
        multiple times. Reported by Wim Lewis.



Modified:
   trunk/ChangeLog
   trunk/glib/gmessages.c

Modified: trunk/glib/gmessages.c
==============================================================================
--- trunk/glib/gmessages.c	(original)
+++ trunk/glib/gmessages.c	Sun Mar 29 19:08:57 2009
@@ -462,14 +462,23 @@
 	       * in an out-of-memory situation
 	       */
 	      gchar buffer[1025];
-	      gint size;
-	      size = _g_vsnprintf (buffer, 1024, format, args1);
+              gsize size;
+              va_list args2;
+
+              G_VA_COPY (args2, args1);
+	      size = _g_vsnprintf (buffer, 1024, format, args2);
+              va_end (args2);
 
 	      log_func (log_domain, test_level, buffer, data);
 	    }
 	  else
 	    {
-	      gchar *msg = g_strdup_vprintf (format, args1);
+	      gchar *msg;
+              va_list args2;
+
+              G_VA_COPY (args2, args1);
+              msg = g_strdup_vprintf (format, args2);
+              va_end (args2);
 
 	      log_func (log_domain, test_level, msg, data);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]