]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - mood.c
com_touch(): Return negative on errors
[paraslash.git] / mood.c
diff --git a/mood.c b/mood.c
index 8d171bde93170dd110ffe4d1b480dc313a8c61de..a98f68b2e44c997843148a0400d84d3ba02710be 100644 (file)
--- a/mood.c
+++ b/mood.c
@@ -416,9 +416,7 @@ static int check_mood(struct osl_row *mood_row, void *data)
        }
        if (!*mood_name) /* ignore dummy row */
                goto out;
-       ret = para_printf(pb, "checking mood %s...\n", mood_name);
-       if (ret < 0)
-               goto out;
+       para_printf(pb, "checking mood %s...\n", mood_name);
        ret = for_each_line(FELF_READ_ONLY, mood_def.data, mood_def.size,
                parse_mood_line, &mlpd);
        if (ret < 0)
@@ -434,8 +432,10 @@ out:
  *
  * \param fd The afs socket.
  * \param query Unused.
+ *
+ * \return Currently this function always returns zero.
  */
-void mood_check_callback(int fd, __a_unused const struct osl_object *query)
+int mood_check_callback(int fd, __a_unused const struct osl_object *query)
 {
        struct para_buffer pb = {
                .max_size = shm_get_shmmax(),
@@ -446,14 +446,11 @@ void mood_check_callback(int fd, __a_unused const struct osl_object *query)
                .max_size_handler = afs_max_size_handler
        };
 
-       int ret = para_printf(&pb, "checking moods...\n");
-       if (ret < 0)
-               return;
+       para_printf(&pb, "checking moods...\n");
        osl_rbtree_loop(moods_table, BLOBCOL_ID, &pb,
                check_mood);
-       if (pb.offset)
-               pass_buffer_as_shm(fd, SBD_OUTPUT, pb.buf, pb.offset);
-       free(pb.buf);
+       flush_and_free_pb(&pb);
+       return 0;
 }
 
 static int64_t normalized_value(int64_t x, int64_t n, int64_t sum, int64_t qd)