X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=mood.c;h=d12bc20d77554c58a77b5b2da3b4a608e5309f34;hb=ec5040e2e7d3c82e93769b62335fab1e63b0f07c;hp=93461ee845c558ec30c0da78bf548939f1247857;hpb=6974e18e86064f870ff1c130b11ececc3e261158;p=paraslash.git diff --git a/mood.c b/mood.c index 93461ee8..d12bc20d 100644 --- a/mood.c +++ b/mood.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Andre Noll + * Copyright (C) 2007-2012 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -173,6 +173,8 @@ static int compute_mood_score(const struct osl_row *aft_row, struct mood *m, list_for_each_entry(item, &m->score_list, mood_item_node) { ret = get_item_score(item, &afsi, &afhi, path, &item_score, &score_arg_sum); + if (ret == 0) + continue; score += item_score; } if (score_arg_sum) @@ -364,8 +366,10 @@ static int load_mood(const struct osl_row *mood_row, struct mood **m) char *mood_name; struct osl_object mood_def; struct mood_line_parser_data mlpd = {.line_num = 0}; - int ret = mood_get_name_and_def_by_row(mood_row, &mood_name, &mood_def); + int ret; + *m = NULL; + ret = mood_get_name_and_def_by_row(mood_row, &mood_name, &mood_def); if (ret < 0) return ret; if (!*mood_name) @@ -422,7 +426,7 @@ out: void mood_check_callback(int fd, __a_unused const struct osl_object *query) { struct para_buffer pb = { - .max_size = SHMMAX, + .max_size = shm_get_shmmax(), .private_data = &fd, .max_size_handler = pass_buffer_as_shm };