Removed extra free
[pspp-builds.git] / src / val.h
index 3b42a83bb79476b9749fa4a637962b95e2372052..927bd916c8df25995cb18c2267b5dee235c0a0bf 100644 (file)
--- a/src/val.h
+++ b/src/val.h
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA. */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
 
 #if !val_h
 #define val_h 1
 
+#include <float.h>
+
+#include <config.h>
 
 /* Values. */
 
@@ -34,8 +37,8 @@
    then short string missing values can be truncated in system files
    because there's only room for as many characters as can fit in a
    flt64. */
-#if MAX_SHORT_STRING > 8
-#error MAX_SHORT_STRING must be less than 8.
+#if MAX_SHORT_STRING > SHORT_NAME_LEN
+#error MAX_SHORT_STRING must be less than or equal to SHORT_NAME_LEN.
 #endif
 
 /* Special values. */
@@ -51,7 +54,7 @@ union value
     double f;
 
     /* A short-string value. */
-    unsigned char s[MAX_SHORT_STRING];
+    char s[MAX_SHORT_STRING];
 
     /* Used by evaluate_expression() to return a string result.
        As currently implemented, it's a pointer to a dynamic
@@ -59,7 +62,7 @@ union value
 
        Also used by the AGGREGATE procedure in handling string
        values. */
-    unsigned char *c;
+    char *c;
   };
 
 /* Maximum number of `union value's in a single number or string
@@ -68,5 +71,8 @@ union value
 
 int compare_values (const union value *a, const union value *b, int width);
 
+unsigned  hash_value(const union value  *v, int width);
+
+
 
 #endif /* !val_h */