Change many %g format specifiers to %.*g with precision DBL_DIG + 1.
[pspp] / src / ui / gui / spreadsheet-test.c
index 90a10375ec460dbfd04a76c2a5a5091a508d341e..af0d18c81c8f6e4b082ff5092aa684198b529ceb 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2013  Free Software Foundation
+   Copyright (C) 2013, 2014  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
 
 #include <config.h>
 
+#include <float.h>
 #include <gtk/gtk.h>
 
 #include "psppire-spreadsheet-model.h"
 #include "data/spreadsheet-reader.h"
 #include "data/casereader.h"
 #include "data/case.h"
+#include "data/settings.h"
 #include "libpspp/message.h"
+#include "libpspp/i18n.h"
+
 #include "gl/xalloc.h"
 
 
@@ -52,7 +56,8 @@ on_clicked (GtkButton *button, struct xxx *stuff)
 
   opts.sheet_index = -1;
   opts.cell_range = spreadsheet_get_sheet_range (stuff->sp, x);
-  opts.sheet_name = spreadsheet_get_sheet_name (stuff->sp, x);
+  opts.sheet_name = CONST_CAST (char *,
+                                spreadsheet_get_sheet_name (stuff->sp, x));
   opts.read_names = TRUE;
   opts.asw = -1;
 
@@ -74,11 +79,11 @@ on_clicked (GtkButton *button, struct xxx *stuff)
        const int width = caseproto_get_width (proto, i);
        const union value *val = case_data_idx (c, i);
        if (0 == width)
-         printf ("%g ", val->f);
+         printf ("%.*g ", DBL_DIG + 1, val->f);
        else
          {
            char *ss = xzalloc (width + 1);
-           strncpy (ss, value_str (val, width), width);
+            memcpy (ss, value_str (val, width), width);
            
            printf ("%s ", ss);
            free (ss);
@@ -109,6 +114,9 @@ main (int argc, char *argv[] )
   GtkWidget *button;
   struct xxx stuff;
 
+  i18n_init ();
+  settings_init ();
+
   gtk_init (&argc, &argv);
     
   if ( argc < 2)