X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=afs.c;h=6d6e67e8d9cac880176da5609dd96e1fe3c9882c;hb=2e74df5e133586cc41875b2c76617f97f8937b04;hp=3d86d1925e97517ee1222d9b3b04f46f541cc688;hpb=d511199b1f1f91cc53e31637bb801e5c2425829e;p=paraslash.git diff --git a/afs.c b/afs.c index 3d86d192..6d6e67e8 100644 --- a/afs.c +++ b/afs.c @@ -447,7 +447,6 @@ no_admissible_files: return write_all(server_socket, buf, 8); } -/* Never fails if arg == NULL */ static int activate_mood_or_playlist(const char *arg, int *num_admissible, char **errmsg) { @@ -455,8 +454,13 @@ static int activate_mood_or_playlist(const char *arg, int *num_admissible, int ret; if (!arg) { - ret = change_current_mood(NULL, NULL); /* always successful */ mode = PLAY_MODE_MOOD; + ret = change_current_mood(NULL, errmsg); + if (ret < 0) { + if (num_admissible) + *num_admissible = 0; + return ret; + } } else { if (!strncmp(arg, "p/", 2)) { ret = playlist_open(arg + 2); @@ -615,10 +619,10 @@ static void init_admissible_files(const char *arg) { int ret = activate_mood_or_playlist(arg, NULL, NULL); if (ret < 0) { - assert(arg); PARA_WARNING_LOG("could not activate %s: %s\n", arg, para_strerror(-ret)); - activate_mood_or_playlist(NULL, NULL, NULL); + if (arg) + activate_mood_or_playlist(NULL, NULL, NULL); } } @@ -659,7 +663,7 @@ static void get_database_dir(void) else { char *home = para_homedir(); database_dir = make_message( - "%s/.paraslash/afs_database-0.4", home); + "%s/.paraslash/afs_database-0.7", home); free(home); } }