X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mood.c;h=98bbb8d90d192b410fd1b22202da8461799f57a4;hp=d6040f1592491fc087429f367621e81de4378f9f;hb=5b8e525dfb2f18a4e0d67b9da264259159ad2184;hpb=d4776878609698ca63c99c3db711ae3edf038bba diff --git a/mood.c b/mood.c index d6040f15..98bbb8d9 100644 --- a/mood.c +++ b/mood.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Andre Noll + * Copyright (C) 2007-2008 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -203,7 +203,7 @@ static int mm_played_rarely_parser(const char *arg, __a_unused void **ignored) return 1; } -static int mm_name_like_score_function(const char *path, +static int mm_path_matches_score_function(const char *path, __a_unused const struct afs_info *afsi, __a_unused const struct afh_info *afhi, const void *data) @@ -213,13 +213,13 @@ static int mm_name_like_score_function(const char *path, return 100; } -static int mm_name_like_parser(const char *arg, void **data) +static int mm_path_matches_parser(const char *arg, void **data) { *data = para_strdup(arg); return 1; } -static void mm_name_like_cleanup(void *data) +static void mm_path_matches_cleanup(void *data) { free(data); } @@ -320,7 +320,7 @@ static const struct mood_method mood_methods[] = { {DEFINE_MOOD_METHOD(no_attributes_set)}, {DEFINE_MOOD_METHOD(played_rarely)}, {DEFINE_MOOD_METHOD(is_set)}, - {DEFINE_MOOD_METHOD_WITH_CLEANUP(name_like)}, + {DEFINE_MOOD_METHOD_WITH_CLEANUP(path_matches)}, {.parser = NULL} }; @@ -372,8 +372,11 @@ enum mood_line_type { ML_SCORE }; +/** Data passed to the parser of a mood line. */ struct mood_line_parser_data { + /** The mood this mood line belongs to. */ struct mood *m; + /** The line number in the mood definition. */ unsigned line_num; }; @@ -517,7 +520,7 @@ static int load_mood(const struct osl_row *mood_row, struct mood **m) osl_close_disk_object(&mood_def); if (ret < 0) { PARA_ERROR_LOG("unable to load mood %s: %s\n", mlpd.m->name, - PARA_STRERROR(-ret)); + para_strerror(-ret)); destroy_mood(mlpd.m); return ret; } @@ -545,7 +548,7 @@ static int check_mood(struct osl_row *mood_row, void *data) parse_mood_line, &mlpd); if (ret < 0) para_printf(pb, "%s line %u: %s\n", mood_name, mlpd.line_num, - PARA_STRERROR(-ret)); + para_strerror(-ret)); out: osl_close_disk_object(&mood_def); return 1; @@ -1010,9 +1013,10 @@ int reload_current_mood(void) int ret; char *mood_name = NULL; - PARA_NOTICE_LOG("reloading current mood\n"); if (!current_mood) return 1; + PARA_NOTICE_LOG("reloading %s\n", current_mood->name? + current_mood->name : "(dummy)"); if (current_mood->name) mood_name = para_strdup(current_mood->name); close_current_mood(); @@ -1054,6 +1058,5 @@ int moods_event_handler(enum afs_events event, __a_unused struct para_buffer *pb default: return 1; } - return 1; }