X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afs.c;h=ef05a473e85a022568a785ecc8da140d2b19d1dc;hp=fc93675a5484196ea181967ae36b5cb338222fdb;hb=1e188f3ad67851a95a65cfdae976b9e92d244ee9;hpb=abc5e2984cb16148abec9e36b17adba6f233a72c diff --git a/afs.c b/afs.c index fc93675a..ef05a473 100644 --- a/afs.c +++ b/afs.c @@ -482,7 +482,7 @@ static int activate_mood_or_playlist(const char *arg, int *num_admissible) ret = change_current_mood(arg + 2); mode = PLAY_MODE_MOOD; } else - return -E_AFS_SYNTAX; + return -ERRNO_TO_PARA_ERROR(EINVAL); if (ret < 0) return ret; } @@ -497,10 +497,12 @@ static int activate_mood_or_playlist(const char *arg, int *num_admissible) 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; } @@ -580,7 +582,7 @@ static int com_select_callback(struct afs_callback_arg *aca) goto out; /* ignore subsequent errors (but log them) */ para_printf(&aca->pbout, "could not activate %s\n", arg); - if (current_mop) { + if (current_mop && strcmp(current_mop, arg) != 0) { int ret2; para_printf(&aca->pbout, "switching back to %s\n", current_mop); ret2 = activate_mood_or_playlist(current_mop, &num_admissible);