* corresponding row of the audio file table is added to the score table.
*
* \param name The name of the playlist to open.
- * \param errmsg To be sent to the client (if called via select command).
+ * \param msg Error message or playlist info is returned here.
*
* \return The length of the loaded playlist on success, negative error code
* else. Files which are listed in the playlist, but are not contained in the
* database are ignored. This is not considered an error.
*/
-int playlist_open(const char *name, char **errmsg)
+int playlist_open(const char *name, char **msg)
{
int ret;
struct playlist_info *playlist = ¤t_playlist;
ret = pl_get_def_by_name(name, &playlist_def);
if (ret < 0) {
- if (errmsg)
- *errmsg = make_message("could not read playlist %s",
- name);
+ *msg = make_message("could not read playlist %s\n", name);
return ret;
}
playlist_close();
if (!playlist->length)
goto err;
playlist->name = para_strdup(name);
- PARA_NOTICE_LOG("loaded playlist %s (%u files)\n", playlist->name,
+ *msg = make_message("loaded playlist %s (%u files)\n", playlist->name,
playlist->length);
/* success */
return current_playlist.length;
err:
PARA_NOTICE_LOG("unable to load playlist %s\n", name);
- if (errmsg)
- *errmsg = make_message("unable to load playlist %s: %s\n",
- name, para_strerror(-ret));
+ *msg = make_message("unable to load playlist %s\n", name);
return ret;
}