X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fmath%2Fsort.c;h=01e955334c9480cccc47f385519367d490e41d5e;hb=2c71feac2da7abc2cd178b1ff30e0f217c3b6d86;hp=8ce955384b674eb4599f98a2b072e83eaa76c64b;hpb=b0bf9b1b0f727fafac4296a048e3f45db5936f81;p=pspp-builds.git diff --git a/src/math/sort.c b/src/math/sort.c index 8ce95538..01e95533 100644 --- a/src/math/sort.c +++ b/src/math/sort.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -40,7 +41,6 @@ #include #include #include -#include #include "gettext.h" #define _(msgid) gettext (msgid) @@ -62,8 +62,6 @@ static void 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. @@ -114,8 +112,11 @@ sort_active_file_to_casefile (const struct sort_criteria *criteria) 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; }