/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012 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
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <data/value.h>
-#include <data/val-type.h>
-#include <data/variable.h>
-#include <libpspp/hash-functions.h>
-#include <libpspp/pool.h>
-#include <libpspp/str.h>
-#include <gl/unistr.h>
+#include "data/value.h"
-#include "minmax.h"
-#include "xalloc.h"
+#include "data/val-type.h"
+#include "data/variable.h"
+#include "libpspp/hash-functions.h"
+#include "libpspp/pool.h"
+#include "libpspp/str.h"
+#include "gl/unistr.h"
+
+#include "gl/minmax.h"
+#include "gl/xalloc.h"
/* Copies the contents of string value SRC with width SRC_WIDTH
to string value DST with width DST_WIDTH. If SRC_WIDTH is
}
}
+/* Returns true if VALUE, with the given WIDTH, is all spaces, false otherwise.
+ Returns false if VALUE is numeric. */
+bool
+value_is_spaces (const union value *value, int width)
+{
+ const uint8_t *s = value_str (value, width);
+ int i;
+
+ for (i = 0; i < width; i++)
+ if (s[i] != ' ')
+ return false;
+
+ return true;
+}
+
/* Returns true if resizing a value from OLD_WIDTH to NEW_WIDTH
actually changes anything, false otherwise. If false is
returned, calls to value_resize() with the specified