*m = NULL;
ret = mood_get_name_and_def_by_row(mood_row, &mood_name, &mood_def);
- if (ret < 0)
+ if (ret < 0) {
+ if (errmsg)
+ *errmsg = make_message(
+ "could not read mood definition");
return ret;
- if (!*mood_name)
- return -E_DUMMY_ROW;
+ }
+ assert(*mood_name);
mlpd.m = alloc_new_mood(mood_name);
ret = for_each_line(FELF_READ_ONLY, mood_def.data, mood_def.size,
parse_mood_line, &mlpd);
};
ret = osl(osl_get_row(moods_table, BLOBCOL_NAME, &obj, &row));
if (ret < 0) {
- PARA_NOTICE_LOG("no such mood: %s\n", mood_name);
+ if (errmsg)
+ *errmsg = make_message("no such mood: %s",
+ mood_name);
return ret;
}
ret = load_mood(row, &m, errmsg);
aa.m = current_mood;
PARA_NOTICE_LOG("computing statistics of admissible files\n");
ret = audio_file_loop(&aa, add_if_admissible);
- if (ret < 0)
+ if (ret < 0) {
+ if (errmsg)
+ *errmsg = make_message("audio file loop failed");
return ret;
+ }
for (i = 0; i < statistics.num; i++) {
struct admissible_file_info *a = aa.array + i;
ret = add_to_score_table(a->aft_row, a->score);
- if (ret < 0)
+ if (ret < 0) {
+ if (errmsg)
+ *errmsg = make_message(
+ "could not add row to score table");
goto out;
+ }
}
log_statistics();
ret = statistics.num;