mood.c: Remove some superfluous includes.
[paraslash.git] / mood.c
diff --git a/mood.c b/mood.c
index 92bef0fa8c04554da7b442cb63dbfb561ee828bd..40228be515678effb04587f61d0fbc75acbc44c1 100644 (file)
--- a/mood.c
+++ b/mood.c
 #include "afh.h"
 #include "afs.h"
 #include "list.h"
-#include "ipc.h"
 #include "mm.h"
-#include "sideband.h"
 #include "mood.h"
-#include "sched.h"
 
 /**
  * Contains statistical data of the currently admissible audio files.
@@ -140,8 +137,8 @@ static bool get_item_score(struct mood_item *item, const struct afs_info *afsi,
 }
 
 /* returns 1 if row admissible, 0 if not, negative on errors */
-static int compute_mood_score(const struct osl_row *aft_row, struct mood *m,
-               long *result)
+static int row_is_admissible(const struct osl_row *aft_row, struct mood *m,
+               long *scorep)
 {
        struct mood_item *item;
        int ret;
@@ -154,13 +151,13 @@ static int compute_mood_score(const struct osl_row *aft_row, struct mood *m,
        if (!m)
                return -E_NO_MOOD;
        ret = get_afsi_of_row(aft_row, &afsi);
-       if (ret< 0)
+       if (ret < 0)
                return ret;
        ret = get_afhi_of_row(aft_row, &afhi);
-       if (ret< 0)
+       if (ret < 0)
                return ret;
        ret = get_audio_file_path_of_row(aft_row, &path);
-       if (ret< 0)
+       if (ret < 0)
                return ret;
        /* reject audio file if it matches any entry in the deny list */
        list_for_each_entry(item, &m->deny_list, mood_item_node) {
@@ -190,7 +187,7 @@ static int compute_mood_score(const struct osl_row *aft_row, struct mood *m,
        }
        if (score_arg_sum)
                score /= score_arg_sum;
-       *result = score;
+       *scorep = score;
        return 1;
 }
 
@@ -257,7 +254,6 @@ struct mood_line_parser_data {
  * <score> is either an integer or "random" which assigns a random score to
  * all matching files
  */
-
 static int parse_mood_line(char *mood_line, void *data)
 {
        struct mood_line_parser_data *mlpd = data;
@@ -364,9 +360,7 @@ success:
        ret = 1;
 out:
        free_argv(argv);
-       if (ret >= 0)
-               return ret;
-       if (mi) {
+       if (mi && (ret < 0 || !mlpd->m)) { /* mi was not added to any list */
                free(mi->parser_data);
                free(mi);
        }
@@ -566,7 +560,7 @@ static int add_if_admissible(struct osl_row *aft_row, void *data)
        int ret;
        long score = 0;
 
-       ret = compute_mood_score(aft_row, aa->m, &score);
+       ret = row_is_admissible(aft_row, aa->m, &score);
        if (ret <= 0)
                return ret;
        if (statistics.num >= aa->size) {
@@ -625,7 +619,8 @@ _static_inline_ int64_t update_quadratic_deviation(int64_t n, int64_t old_qd,
        return old_qd + delta * (sigma - 2 * old_sum / n - delta / n);
 }
 
-static int update_afs_statistics(struct afs_info *old_afsi, struct afs_info *new_afsi)
+static int update_afs_statistics(struct afs_info *old_afsi,
+               struct afs_info *new_afsi)
 {
        unsigned n;
        int ret = get_num_admissible_files(&n);
@@ -712,7 +707,7 @@ static int mood_update_audio_file(const struct osl_row *aft_row,
        if (ret < 0)
                return ret;
        was_admissible = ret;
-       ret = compute_mood_score(aft_row, current_mood, &score);
+       ret = row_is_admissible(aft_row, current_mood, &score);
        if (ret < 0)
                return ret;
        is_admissible = (ret > 0);
@@ -846,6 +841,7 @@ out:
        free(aa.array);
        return ret;
 }
+
 /*
  * Close and re-open the current mood.
  *