projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perl-module: Init and destroy for long strings in set_missing_values().
[pspp]
/
perl-module
/
PSPP.xs
diff --git
a/perl-module/PSPP.xs
b/perl-module/PSPP.xs
index f6655b8ded0dbf8d24266a47c3cf6858e4244822..c563b40f6330785c48f42d1efa30749b8d4345a1 100644
(file)
--- a/
perl-module/PSPP.xs
+++ b/
perl-module/PSPP.xs
@@
-412,12
+412,15
@@
INIT:
croak ("No more than 3 missing values are permitted");
for (i = 0; i < items - 1; ++i)
croak ("No more than 3 missing values are permitted");
for (i = 0; i < items - 1; ++i)
-
scalar_to_value
(&val[i], ST(i+1), var);
+
make_value_from_scalar
(&val[i], ST(i+1), var);
CODE:
struct missing_values mv;
mv_init (&mv, var_get_width (var));
for (i = 0 ; i < items - 1; ++i )
CODE:
struct missing_values mv;
mv_init (&mv, var_get_width (var));
for (i = 0 ; i < items - 1; ++i )
- mv_add_value (&mv, &val[i]);
+ {
+ mv_add_value (&mv, &val[i]);
+ value_destroy (&val[i], var_get_width (var));
+ }
var_set_missing_values (var, &mv);
var_set_missing_values (var, &mv);