chiark / gitweb /
Use `dstr_putf' for formatting, rather than `sprintf'.
authormdw <mdw>
Tue, 15 Dec 1998 23:48:06 +0000 (23:48 +0000)
committermdw <mdw>
Tue, 15 Dec 1998 23:48:06 +0000 (23:48 +0000)
msg.c

diff --git a/msg.c b/msg.c
index 6c0ca9dae6997735e6b79263a12189984139e1eb..2ff054855aa8ad1528a8b99d487ecc89551a3833 100644 (file)
--- a/msg.c
+++ b/msg.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: msg.c,v 1.1 1998/12/11 09:44:21 mdw Exp $
+ * $Id: msg.c,v 1.2 1998/12/15 23:48:06 mdw Exp $
  *
  * Display a message and get an answer
  *
@@ -29,6 +29,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: msg.c,v $
+ * Revision 1.2  1998/12/15 23:48:06  mdw
+ * Use `dstr_putf' for formatting, rather than `sprintf'.
+ *
  * Revision 1.1  1998/12/11 09:44:21  mdw
  * Initial version.
  *
@@ -44,6 +47,7 @@
 #include <gtk/gtk.h>
 
 #include <mLib/alloc.h>
+#include <mLib/dstr.h>
 
 #include "cancel.h"
 #include "mdwfocus.h"
@@ -94,21 +98,19 @@ int msg(const char *buttons, const char *msg, ...)
   /* --- Set up the message string --- */
 
   {
-    char buf[1024];
+    dstr d;
     va_list ap;
 
     va_start(ap, msg);
-#ifdef HAVE_VSNPRINTF
-    vsnprintf(buf, sizeof(buf), msg, ap);
-#else
-    vsprintf(buf, sizeof(buf), msg, ap);
-#endif
+    dstr_create(&d);
+    dstr_vputf(&d, msg, ap);
     va_end(ap);
-    w = gtk_label_new(buf);
+    w = gtk_label_new(d.buf);
     gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dbox)->vbox), w, 1, 1, 0);
     gtk_window_position(GTK_WINDOW(dbox), GTK_WIN_POS_MOUSE);
     gtk_widget_show(w);
     gtk_misc_set_padding(GTK_MISC(w), 16, 16);
+    dstr_destroy(&d);
   }
 
   /* --- Set up the buttons --- */
@@ -153,10 +155,14 @@ int msg(const char *buttons, const char *msg, ...)
        cancel(GTK_WINDOW(dbox), w);
       gtk_widget_show(w);
     }
+    free(p);
+
+    /* --- Preflight checklist --- */
 
     gtk_widget_realize(dbox);
     if (f & f_mdwfocus)
       mdwfocus(dbox);
+
   }
 
   /* --- Ready --- */