variable-parser: Drop VAR_NAME_LEN restriction from var_set_lookup_var_idx().
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 1 Jan 2011 23:54:54 +0000 (15:54 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 5 Feb 2011 21:18:13 +0000 (13:18 -0800)
This restriction is purely artificial, as part of an assertion.  Since
longer variable names are going to have to be supported, remove it.

Most uses of VAR_NAME_LEN within PSPP are wrong due to encoding issues:
the limit applies to variable names in the encoding used by the data
set, but most uses of VAR_NAME_LEN actually limit the length of a name
in UTF-8.  The UTF-8 representation of a name can be longer or shorter
than its representation in the data set encoding, so it seems best to
eliminate references to VAR_NAME_LEN entirely.

src/language/lexer/variable-parser.c

index 0cefb5db74af460057f127ea21304aa25bfaa9a0..84cf972563545becd34344a8b1b64a787c89ce0e 100644 (file)
@@ -709,7 +709,6 @@ var_set_lookup_var_idx (const struct var_set *vs, const char *name,
 {
   assert (vs != NULL);
   assert (name != NULL);
-  assert (strlen (name) <= VAR_NAME_LEN);
 
   return vs->lookup_var_idx (vs, name, idx);
 }