aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/playlist.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/playlist.c b/src/playlist.c
index 04b57649d..f6e3d6e2f 100644
--- a/src/playlist.c
+++ b/src/playlist.c
@@ -231,6 +231,7 @@ void readPlaylistState(FILE *fp)
int seek_time = 0;
int state = PLAYER_STATE_STOP;
char buffer[PLAYLIST_BUFFER_SIZE];
+ bool random_mode = false;
while (fgets(buffer, sizeof(buffer), fp)) {
g_strchomp(buffer);
@@ -264,14 +265,9 @@ void readPlaylistState(FILE *fp)
[strlen
(PLAYLIST_STATE_FILE_CROSSFADE)])));
} else if (g_str_has_prefix(buffer, PLAYLIST_STATE_FILE_RANDOM)) {
- if (strcmp
- (&
- (buffer
- [strlen(PLAYLIST_STATE_FILE_RANDOM)]),
- "1") == 0) {
- setPlaylistRandomStatus(true);
- } else
- setPlaylistRandomStatus(false);
+ random_mode =
+ strcmp(buffer + strlen(PLAYLIST_STATE_FILE_RANDOM),
+ "1") == 0;
} else if (g_str_has_prefix(buffer, PLAYLIST_STATE_FILE_CURRENT)) {
current = atoi(&(buffer
[strlen
@@ -284,6 +280,8 @@ void readPlaylistState(FILE *fp)
current, seek_time);
}
}
+
+ setPlaylistRandomStatus(random_mode);
}
int playlistChanges(struct client *client, uint32_t version)