From: Andre Noll Date: Mon, 30 Apr 2018 19:18:01 +0000 (+0200) Subject: server: Fix return value of com_ff(). X-Git-Tag: v0.6.2~8^2 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=884f36e554f9c58815bc24cc3f1f033ab30cb7c7 server: Fix return value of com_ff(). We set the VSS_NEXT flag if the amount of seconds to jump forward would exceed the end of the current audio file. However, in this case we fail the command by returning -E_NO_AUDIO_FILE, which is incorrect. This bug was present since day one of the git repo (2006). --- diff --git a/command.c b/command.c index fe4b9232..6777ccc9 100644 --- a/command.c +++ b/command.c @@ -728,6 +728,7 @@ static int com_ff(struct command_context *cc) ret = -E_NO_AUDIO_FILE; if (!mmd->afd.afhi.chunks_total || !mmd->afd.afhi.seconds_total) goto out; + ret = 1; promille = (1000 * mmd->current_chunk) / mmd->afd.afhi.chunks_total; if (backwards) promille -= 1000 * i / mmd->afd.afhi.seconds_total; @@ -743,7 +744,6 @@ static int com_ff(struct command_context *cc) mmd->new_vss_status_flags |= VSS_REPOS; mmd->new_vss_status_flags &= ~VSS_NEXT; mmd->events++; - ret = 1; out: mutex_unlock(mmd_mutex); return ret;