projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed some memory leaks in GUI.
[pspp-builds.git]
/
src
/
math
/
sort.c
diff --git
a/src/math/sort.c
b/src/math/sort.c
index 8ce955384b674eb4599f98a2b072e83eaa76c64b..01e955334c9480cccc47f385519367d490e41d5e 100644
(file)
--- a/
src/math/sort.c
+++ b/
src/math/sort.c
@@
-30,6
+30,7
@@
#include <data/case-source.h>
#include <data/case.h>
#include <data/casefile.h>
#include <data/case-source.h>
#include <data/case.h>
#include <data/casefile.h>
+#include <data/procedure.h>
#include <data/settings.h>
#include <data/variable.h>
#include <data/storage-stream.h>
#include <data/settings.h>
#include <data/variable.h>
#include <data/storage-stream.h>
@@
-40,7
+41,6
@@
#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/str.h>
#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/str.h>
-#include <procedure.h>
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "gettext.h"
#define _(msgid) gettext (msgid)
@@
-62,8
+62,6
@@
static void
prepare_to_sort_active_file (void)
{
proc_cancel_temporary_transformations ();
prepare_to_sort_active_file (void)
{
proc_cancel_temporary_transformations ();
- expr_free (process_if_expr);
- process_if_expr = NULL;
}
/* Sorts the active file in-place according to CRITERIA.
}
/* Sorts the active file in-place according to CRITERIA.
@@
-114,8
+112,11
@@
sort_active_file_to_casefile (const struct sort_criteria *criteria)
cb_data.criteria = criteria;
cb_data.output = NULL;
cb_data.criteria = criteria;
cb_data.output = NULL;
- multipass_procedure (sort_to_casefile_callback, &cb_data);
-
+ if (!multipass_procedure (sort_to_casefile_callback, &cb_data))
+ {
+ casefile_destroy (cb_data.output);
+ return NULL;
+ }
return cb_data.output;
}
return cb_data.output;
}