Change many %g format specifiers to %.*g with precision DBL_DIG + 1.
[pspp] / tests / data / datasheet-test.c
index 98be04fe44b25c73a7cb608596b02296b3b3894c..db21ff33fe658e132fa8769f15a31ab2ca887fa0 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009, 2010, 2014 Free Software Foundation, Inc.
 
    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 <data/datasheet.h>
 
 #include <ctype.h>
+#include <float.h>
 #include <stdlib.h>
 #include <stdint.h>
 #include <string.h>
@@ -153,9 +154,10 @@ check_datasheet_casereader (struct mc *mc, struct casereader *reader,
                 {
                   if (width == 0)
                     mc_error (mc, "element %zu,%zu (of %zu,%zu) differs: "
-                              "%g != %g",
+                              "%.*g != %.*g",
                               row, col, n_rows, n_columns,
-                              case_num_idx (c, col), array[row][col].f);
+                              DBL_DIG + 1, case_num_idx (c, col),
+                              DBL_DIG + 1, array[row][col].f);
                   else
                     mc_error (mc, "element %zu,%zu (of %zu,%zu) differs: "
                               "'%.*s' != '%.*s'",
@@ -217,8 +219,8 @@ check_datasheet (struct mc *mc, struct datasheet *ds,
               {
                 if (width == 0)
                   mc_error (mc, "element %zu,%zu (of %zu,%zu) differs: "
-                            "%g != %g", row, col, n_rows, n_columns,
-                            v.f, av->f);
+                            "%.*g != %.*g", row, col, n_rows, n_columns,
+                            DBL_DIG + 1, v.f, DBL_DIG + 1, av->f);
                 else
                   mc_error (mc, "element %zu,%zu (of %zu,%zu) differs: "
                             "'%.*s' != '%.*s'",
@@ -424,9 +426,12 @@ datasheet_mc_init (struct mc *mc)
   if (params->backing_rows == 0 && params->n_backing_cols == 0)
     {
       /* Create unbacked datasheet. */
+      struct caseproto *proto;
       ds = datasheet_create (NULL);
       mc_name_operation (mc, "empty datasheet");
-      check_datasheet (mc, ds, NULL, 0, caseproto_create ());
+      proto = caseproto_create ();
+      check_datasheet (mc, ds, NULL, 0, proto);
+      caseproto_unref (proto);
     }
   else
     {
@@ -482,9 +487,9 @@ struct resize_cb_aux
   };
 
 static void
-resize_cb (const union value *old_value, union value *new_value, void *aux_)
+resize_cb (const union value *old_value, union value *new_value, const void *aux_)
 {
-  struct resize_cb_aux *aux = aux_;
+  const struct resize_cb_aux *aux = aux_;
 
   value_from_param (new_value, aux->new_width,
                     value_hash (old_value, aux->old_width, 0));