Add WARN_UNUSED_RESULT to procedure function prototypes
authorBen Pfaff <blp@gnu.org>
Wed, 10 May 2006 04:11:07 +0000 (04:11 +0000)
committerBen Pfaff <blp@gnu.org>
Wed, 10 May 2006 04:11:07 +0000 (04:11 +0000)
and fix up one user who needed it.

src/data/ChangeLog
src/data/procedure.h
src/math/ChangeLog
src/math/sort.c

index fa71f5981e1cd177e7a3edb06a5b2294bb616150..87fb23ee78fe5ccd1d8e37c946e14003913e664f 100644 (file)
@@ -1,3 +1,8 @@
+Tue May  9 21:09:17 2006  Ben Pfaff  <blp@gnu.org>
+
+       * procedure.h: Add WARN_UNUSED_RESULT to procedure function
+       prototypes.
+
 Tue May  9 21:08:05 2006  Ben Pfaff  <blp@gnu.org>
 
        * casefile.c: Convert many uses of `int' to `bool'.
index 3c43e712178b554380e7b3ca5a503cb42d89e2ba..35678ce60455caeb710857cd4d512ad4e1b3955a 100644 (file)
@@ -22,7 +22,9 @@
 
 #include <time.h>
 #include <stdbool.h>
+
 #include <data/transformations.h>
+#include <libpspp/compiler.h>
 
 struct ccase;
 struct casefile;
@@ -63,17 +65,21 @@ void proc_set_sink (struct case_sink *);
 struct casefile *proc_capture_output (void);
 
 bool procedure (bool (*proc_func) (const struct ccase *, void *),
-                void *aux);
+                void *aux)
+     WARN_UNUSED_RESULT;
 bool procedure_with_splits (void (*begin_func) (const struct ccase *, void *),
                             bool (*proc_func) (const struct ccase *, void *),
                             void (*end_func) (void *),
-                            void *aux);
+                            void *aux)
+     WARN_UNUSED_RESULT;
 bool multipass_procedure (bool (*proc_func) (const struct casefile *, void *),
-                          void *aux);
+                          void *aux)
+     WARN_UNUSED_RESULT;
 bool multipass_procedure_with_splits (bool (*) (const struct ccase *,
                                                 const struct casefile *,
                                                 void *),
-                                      void *aux);
+                                      void *aux)
+     WARN_UNUSED_RESULT;
 time_t time_of_last_procedure (void);
 \f
 /* Number of cases to lag. */
index c78f51a858d1c59051a8b16e14c5cbfa1fed2d44..b36a84407f8a107b5ee51fd97a593db1de788484 100644 (file)
@@ -1,3 +1,8 @@
+Tue May  9 21:09:37 2006  Ben Pfaff  <blp@gnu.org>
+
+       * sort.c (sort_active_file_to_casefile): Check return value of
+       multipass_procedure().
+
 Wed May  3 23:06:43 2006  Ben Pfaff  <blp@gnu.org>
 
        Continue reforming procedure execution.  In this phase, get rid of
index 310fae9c1b26c24781b5b9f22d18d2671df86a03..01e955334c9480cccc47f385519367d490e41d5e 100644 (file)
@@ -112,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;
 }