projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dictionary: Set encoding early when cloning a dictionary.
[pspp-builds.git]
/
src
/
data
/
dictionary.c
diff --git
a/src/data/dictionary.c
b/src/data/dictionary.c
index c00bd4face382c363990b6185741bdf1d62080c5..7d67defbfecfc61fa3f3637ecfbb94c127c4b75a 100644
(file)
--- a/
src/data/dictionary.c
+++ b/
src/data/dictionary.c
@@
-198,6
+198,11
@@
dict_clone (const struct dictionary *s)
d = dict_create ();
d = dict_create ();
+ /* Set the new dictionary's encoding early so that string length limitations
+ are interpreted correctly. */
+ if ( s->encoding)
+ d->encoding = xstrdup (s->encoding);
+
for (i = 0; i < s->var_cnt; i++)
{
struct variable *sv = s->var[i].var;
for (i = 0; i < s->var_cnt; i++)
{
struct variable *sv = s->var[i].var;
@@
-235,9
+240,6
@@
dict_clone (const struct dictionary *s)
for (i = 0; i < s->vector_cnt; i++)
d->vector[i] = vector_clone (s->vector[i], s, d);
for (i = 0; i < s->vector_cnt; i++)
d->vector[i] = vector_clone (s->vector[i], s, d);
- if ( s->encoding)
- d->encoding = xstrdup (s->encoding);
-
dict_set_attributes (d, dict_get_attributes (s));
for (i = 0; i < s->n_mrsets; i++)
dict_set_attributes (d, dict_get_attributes (s));
for (i = 0; i < s->n_mrsets; i++)