Merge branch 'maint'
[paraslash.git] / playlist.c
index 4b2d17c0b782bc677b69f08cac58402bfc3c0cb6..01392030a00305cea41707f4e40016507f0e20e1 100644 (file)
@@ -131,20 +131,9 @@ static int check_playlist(struct osl_row *row, void *data)
  */
 int playlist_check_callback(struct afs_callback_arg *aca)
 {
-       int ret;
-       struct para_buffer pb = {
-               .max_size = shm_get_shmmax(),
-               .private_data = &(struct afs_max_size_handler_data) {
-                       .fd = aca->fd,
-                       .band = SBD_OUTPUT
-               },
-               .max_size_handler = afs_max_size_handler,
-       };
-       para_printf(&pb, "checking playlists...\n");
-       ret = osl(osl_rbtree_loop(playlists_table, BLOBCOL_ID, &pb,
+       para_printf(&aca->pbout, "checking playlists...\n");
+       return osl(osl_rbtree_loop(playlists_table, BLOBCOL_ID, &aca->pbout,
                check_playlist));
-       flush_and_free_pb(&pb);
-       return ret;
 }
 
 /**
@@ -202,8 +191,6 @@ static int handle_audio_file_event(enum afs_events event, void *data)
        char *new_path;
        const struct osl_row *row = data;
 
-       if (!current_playlist.name)
-               return 1;
        if (event == AUDIO_FILE_RENAME) {
                ret = row_belongs_to_score_table(row, NULL);
                if (ret < 0)
@@ -248,7 +235,9 @@ int playlists_event_handler(enum afs_events event,
        int ret;
        struct afsi_change_event_data *aced = data;
 
-       switch(event) {
+       if (!current_playlist.name)
+               return 1;
+       switch (event) {
        case AFSI_CHANGE:
                return playlist_update_audio_file(aced->aft_row);
        case AUDIO_FILE_RENAME: