X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=playlist.c;h=60e27e6e6fc104034b13e054c330c4ce484749a6;hp=a9925cd3079a341135d398a664e167691d1406c6;hb=3879481ddabc38236b9eee979a090c2a9bfa74d3;hpb=002731cd3938f3be6b71651e56c062af1adcdec0 diff --git a/playlist.c b/playlist.c index a9925cd3..60e27e6e 100644 --- a/playlist.c +++ b/playlist.c @@ -1,15 +1,19 @@ /* - * Copyright (C) 2007-2009 Andre Noll + * Copyright (C) 2007-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ +#include +#include + #include "para.h" #include "error.h" #include "string.h" #include "afh.h" #include "afs.h" #include "ipc.h" +#include "sideband.h" /** \file playlist.c Functions for loading and saving playlists. */ @@ -128,9 +132,12 @@ static int check_playlist(struct osl_row *row, void *data) void playlist_check_callback(int fd, __a_unused const struct osl_object *query) { struct para_buffer pb = { - .max_size = SHMMAX, - .private_data = &fd, - .max_size_handler = pass_buffer_as_shm + .max_size = shm_get_shmmax(), + .private_data = &(struct afs_max_size_handler_data) { + .fd = fd, + .band = SBD_OUTPUT + }, + .max_size_handler = afs_max_size_handler, }; int ret = para_printf(&pb, "checking playlists...\n"); @@ -139,7 +146,7 @@ void playlist_check_callback(int fd, __a_unused const struct osl_object *query) osl_rbtree_loop(playlists_table, BLOBCOL_ID, &pb, check_playlist); if (pb.offset) - pass_buffer_as_shm(pb.buf, pb.offset, &fd); + pass_buffer_as_shm(fd, SBD_OUTPUT, pb.buf, pb.offset); free(pb.buf); } @@ -174,7 +181,7 @@ int playlist_open(char *name) obj.data = name; obj.size = strlen(obj.data); - ret = osl_get_row(playlists_table, BLOBCOL_NAME, &obj, &row); + ret = osl(osl_get_row(playlists_table, BLOBCOL_NAME, &obj, &row)); if (ret < 0) { PARA_NOTICE_LOG("failed to load playlist %s\n", name); return ret;