X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=afs.c;h=72e7acccf3284fd4bb7d94697eb3d2ce70217d29;hb=5ae1a5bb9732d777f856d5bb003585f81e3c519a;hp=f9dd7583df42a3b5d8bf48fe36ccdea88020c3d4;hpb=328a4081d2ca9a99cbd87bf58133254dea77a86a;p=paraslash.git diff --git a/afs.c b/afs.c index f9dd7583..72e7accc 100644 --- a/afs.c +++ b/afs.c @@ -438,10 +438,7 @@ static int activate_mood_or_playlist(const char *arg, int *num_admissible, } } else { if (!strncmp(arg, "p/", 2)) { - ret = playlist_open(arg + 2); - if (ret < 0 && errmsg) - *errmsg = make_message( "could not open %s", - arg); + ret = playlist_open(arg + 2, errmsg); mode = PLAY_MODE_PLAYLIST; } else if (!strncmp(arg, "m/", 2)) { ret = change_current_mood(arg + 2, errmsg); @@ -465,22 +462,15 @@ static int activate_mood_or_playlist(const char *arg, int *num_admissible, */ if (arg != current_mop) { free(current_mop); - if (arg) { - current_mop = para_strdup(arg); - mutex_lock(mmd_mutex); - strncpy(mmd->afs_mode_string, arg, - sizeof(mmd->afs_mode_string)); - mmd->afs_mode_string[sizeof(mmd->afs_mode_string) - 1] = '\0'; - mmd->events++; - mutex_unlock(mmd_mutex); - } else { - mutex_lock(mmd_mutex); - strcpy(mmd->afs_mode_string, "dummy"); - mmd->events++; - mutex_unlock(mmd_mutex); - current_mop = NULL; - } + current_mop = arg? para_strdup(arg) : NULL; } + /* Notify the server about the mood/playlist change. */ + mutex_lock(mmd_mutex); + strncpy(mmd->afs_mode_string, arg? arg: "dummy", + sizeof(mmd->afs_mode_string)); + mmd->afs_mode_string[sizeof(mmd->afs_mode_string) - 1] = '\0'; + mmd->events++; + mutex_unlock(mmd_mutex); return 1; }