projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Applied patch #5653, which adds callbacks to dataset whenever its dictionary or
[pspp-builds.git]
/
src
/
data
/
dictionary.c
diff --git
a/src/data/dictionary.c
b/src/data/dictionary.c
index a7478596c0b0be2c9ef9d752aee9a70a979f7567..d29939aca55a8043cec67cf12d3bf676c91f4b02 100644
(file)
--- a/
src/data/dictionary.c
+++ b/
src/data/dictionary.c
@@
-82,6
+82,15
@@
dict_set_callbacks (struct dictionary *dict,
}
}
+/* Shallow copy the callbacks from SRC to DEST */
+void
+dict_copy_callbacks (struct dictionary *dest,
+ const struct dictionary *src)
+{
+ dest->callbacks = src->callbacks;
+ dest->cb_data = src->cb_data;
+}
+
/* Creates and returns a new dictionary. */
struct dictionary *
dict_create (void)
/* Creates and returns a new dictionary. */
struct dictionary *
dict_create (void)
@@
-166,6
+175,9
@@
dict_clear (struct dictionary *d)
for (i = 0; i < d->var_cnt; i++)
{
for (i = 0; i < d->var_cnt; i++)
{
+ if (d->callbacks && d->callbacks->var_deleted )
+ d->callbacks->var_deleted (d, i, d->cb_data);
+
var_clear_vardict (d->var[i]);
var_destroy (d->var[i]);
}
var_clear_vardict (d->var[i]);
var_destroy (d->var[i]);
}