diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-05-31 22:24:29 +0200 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-05-31 22:24:29 +0200 |
commit | b535c2d4f8d84adb22c741170e6fd11b3cfc4478 (patch) | |
tree | 5407f0612431d38a40d3aae1919010a76175d10c /src/input/vcd/libvcd/stream_stdio.c | |
parent | 5fbadac433d89261d4d00830d7d3ed55503285d5 (diff) | |
download | xine-lib-b535c2d4f8d84adb22c741170e6fd11b3cfc4478.tar.gz xine-lib-b535c2d4f8d84adb22c741170e6fd11b3cfc4478.tar.bz2 |
Move libcdio and libvcd into contrib/
--HG--
rename : src/input/vcd/libcdio/FreeBSD/freebsd.c => contrib/libcdio/FreeBSD/freebsd.c
rename : src/input/vcd/libcdio/FreeBSD/freebsd.h => contrib/libcdio/FreeBSD/freebsd.h
rename : src/input/vcd/libcdio/FreeBSD/freebsd_cam.c => contrib/libcdio/FreeBSD/freebsd_cam.c
rename : src/input/vcd/libcdio/FreeBSD/freebsd_ioctl.c => contrib/libcdio/FreeBSD/freebsd_ioctl.c
rename : src/input/vcd/libcdio/MSWindows/Makefile.am => contrib/libcdio/MSWindows/Makefile.am
rename : src/input/vcd/libcdio/MSWindows/aspi32.c => contrib/libcdio/MSWindows/aspi32.c
rename : src/input/vcd/libcdio/MSWindows/aspi32.h => contrib/libcdio/MSWindows/aspi32.h
rename : src/input/vcd/libcdio/MSWindows/win32.c => contrib/libcdio/MSWindows/win32.c
rename : src/input/vcd/libcdio/MSWindows/win32.h => contrib/libcdio/MSWindows/win32.h
rename : src/input/vcd/libcdio/MSWindows/win32_ioctl.c => contrib/libcdio/MSWindows/win32_ioctl.c
rename : src/input/vcd/libcdio/Makefile.am => contrib/libcdio/Makefile.am
rename : src/input/vcd/libcdio/_cdio_bsdi.c => contrib/libcdio/_cdio_bsdi.c
rename : src/input/vcd/libcdio/_cdio_generic.c => contrib/libcdio/_cdio_generic.c
rename : src/input/vcd/libcdio/_cdio_linux.c => contrib/libcdio/_cdio_linux.c
rename : src/input/vcd/libcdio/_cdio_osx.c => contrib/libcdio/_cdio_osx.c
rename : src/input/vcd/libcdio/_cdio_stdio.c => contrib/libcdio/_cdio_stdio.c
rename : src/input/vcd/libcdio/_cdio_stdio.h => contrib/libcdio/_cdio_stdio.h
rename : src/input/vcd/libcdio/_cdio_stream.c => contrib/libcdio/_cdio_stream.c
rename : src/input/vcd/libcdio/_cdio_stream.h => contrib/libcdio/_cdio_stream.h
rename : src/input/vcd/libcdio/_cdio_sunos.c => contrib/libcdio/_cdio_sunos.c
rename : src/input/vcd/libcdio/cd_types.c => contrib/libcdio/cd_types.c
rename : src/input/vcd/libcdio/cdio.c => contrib/libcdio/cdio.c
rename : src/input/vcd/libcdio/cdio/Makefile.am => contrib/libcdio/cdio/Makefile.am
rename : src/input/vcd/libcdio/cdio/bytesex.h => contrib/libcdio/cdio/bytesex.h
rename : src/input/vcd/libcdio/cdio/bytesex_asm.h => contrib/libcdio/cdio/bytesex_asm.h
rename : src/input/vcd/libcdio/cdio/cd_types.h => contrib/libcdio/cdio/cd_types.h
rename : src/input/vcd/libcdio/cdio/cdio.h => contrib/libcdio/cdio/cdio.h
rename : src/input/vcd/libcdio/cdio/cdtext.h => contrib/libcdio/cdio/cdtext.h
rename : src/input/vcd/libcdio/cdio/ds.h => contrib/libcdio/cdio/ds.h
rename : src/input/vcd/libcdio/cdio/dvd.h => contrib/libcdio/cdio/dvd.h
rename : src/input/vcd/libcdio/cdio/iso9660.h => contrib/libcdio/cdio/iso9660.h
rename : src/input/vcd/libcdio/cdio/logging.h => contrib/libcdio/cdio/logging.h
rename : src/input/vcd/libcdio/cdio/scsi_mmc.h => contrib/libcdio/cdio/scsi_mmc.h
rename : src/input/vcd/libcdio/cdio/sector.h => contrib/libcdio/cdio/sector.h
rename : src/input/vcd/libcdio/cdio/types.h => contrib/libcdio/cdio/types.h
rename : src/input/vcd/libcdio/cdio/util.h => contrib/libcdio/cdio/util.h
rename : src/input/vcd/libcdio/cdio/version.h => contrib/libcdio/cdio/version.h
rename : src/input/vcd/libcdio/cdio/xa.h => contrib/libcdio/cdio/xa.h
rename : src/input/vcd/libcdio/cdio_assert.h => contrib/libcdio/cdio_assert.h
rename : src/input/vcd/libcdio/cdio_private.h => contrib/libcdio/cdio_private.h
rename : src/input/vcd/libcdio/cdtext.c => contrib/libcdio/cdtext.c
rename : src/input/vcd/libcdio/cdtext_private.h => contrib/libcdio/cdtext_private.h
rename : src/input/vcd/libcdio/ds.c => contrib/libcdio/ds.c
rename : src/input/vcd/libcdio/generic.h => contrib/libcdio/generic.h
rename : src/input/vcd/libcdio/image.h => contrib/libcdio/image.h
rename : src/input/vcd/libcdio/image/Makefile.am => contrib/libcdio/image/Makefile.am
rename : src/input/vcd/libcdio/image/bincue.c => contrib/libcdio/image/bincue.c
rename : src/input/vcd/libcdio/image/cdrdao.c => contrib/libcdio/image/cdrdao.c
rename : src/input/vcd/libcdio/image/nrg.c => contrib/libcdio/image/nrg.c
rename : src/input/vcd/libcdio/image/nrg.h => contrib/libcdio/image/nrg.h
rename : src/input/vcd/libcdio/image_common.h => contrib/libcdio/image_common.h
rename : src/input/vcd/libcdio/iso9660.c => contrib/libcdio/iso9660.c
rename : src/input/vcd/libcdio/iso9660_fs.c => contrib/libcdio/iso9660_fs.c
rename : src/input/vcd/libcdio/iso9660_private.h => contrib/libcdio/iso9660_private.h
rename : src/input/vcd/libcdio/logging.c => contrib/libcdio/logging.c
rename : src/input/vcd/libcdio/portable.h => contrib/libcdio/portable.h
rename : src/input/vcd/libcdio/scsi_mmc.c => contrib/libcdio/scsi_mmc.c
rename : src/input/vcd/libcdio/scsi_mmc.h => contrib/libcdio/scsi_mmc.h
rename : src/input/vcd/libcdio/scsi_mmc_private.h => contrib/libcdio/scsi_mmc_private.h
rename : src/input/vcd/libcdio/sector.c => contrib/libcdio/sector.c
rename : src/input/vcd/libcdio/util.c => contrib/libcdio/util.c
rename : src/input/vcd/libcdio/xa.c => contrib/libcdio/xa.c
rename : src/input/vcd/libvcd/Makefile.am => contrib/libvcd/Makefile.am
rename : src/input/vcd/libvcd/bitvec.h => contrib/libvcd/bitvec.h
rename : src/input/vcd/libvcd/bytesex.h => contrib/libvcd/bytesex.h
rename : src/input/vcd/libvcd/bytesex_asm.h => contrib/libvcd/bytesex_asm.h
rename : src/input/vcd/libvcd/data_structures.c => contrib/libvcd/data_structures.c
rename : src/input/vcd/libvcd/data_structures.h => contrib/libvcd/data_structures.h
rename : src/input/vcd/libvcd/dict.h => contrib/libvcd/dict.h
rename : src/input/vcd/libvcd/directory.c => contrib/libvcd/directory.c
rename : src/input/vcd/libvcd/directory.h => contrib/libvcd/directory.h
rename : src/input/vcd/libvcd/files.c => contrib/libvcd/files.c
rename : src/input/vcd/libvcd/image.c => contrib/libvcd/image.c
rename : src/input/vcd/libvcd/image_bincue.c => contrib/libvcd/image_bincue.c
rename : src/input/vcd/libvcd/image_cdrdao.c => contrib/libvcd/image_cdrdao.c
rename : src/input/vcd/libvcd/image_nrg.c => contrib/libvcd/image_nrg.c
rename : src/input/vcd/libvcd/image_sink.h => contrib/libvcd/image_sink.h
rename : src/input/vcd/libvcd/inf.c => contrib/libvcd/inf.c
rename : src/input/vcd/libvcd/info.c => contrib/libvcd/info.c
rename : src/input/vcd/libvcd/info_private.c => contrib/libvcd/info_private.c
rename : src/input/vcd/libvcd/info_private.h => contrib/libvcd/info_private.h
rename : src/input/vcd/libvcd/libvcd/Makefile.am => contrib/libvcd/libvcd/Makefile.am
rename : src/input/vcd/libvcd/libvcd/files.h => contrib/libvcd/libvcd/files.h
rename : src/input/vcd/libvcd/libvcd/files_private.h => contrib/libvcd/libvcd/files_private.h
rename : src/input/vcd/libvcd/libvcd/inf.h => contrib/libvcd/libvcd/inf.h
rename : src/input/vcd/libvcd/libvcd/info.h => contrib/libvcd/libvcd/info.h
rename : src/input/vcd/libvcd/libvcd/logging.h => contrib/libvcd/libvcd/logging.h
rename : src/input/vcd/libvcd/libvcd/sector.h => contrib/libvcd/libvcd/sector.h
rename : src/input/vcd/libvcd/libvcd/types.h => contrib/libvcd/libvcd/types.h
rename : src/input/vcd/libvcd/libvcd/version.h => contrib/libvcd/libvcd/version.h
rename : src/input/vcd/libvcd/logging.c => contrib/libvcd/logging.c
rename : src/input/vcd/libvcd/mpeg.c => contrib/libvcd/mpeg.c
rename : src/input/vcd/libvcd/mpeg.h => contrib/libvcd/mpeg.h
rename : src/input/vcd/libvcd/mpeg_stream.c => contrib/libvcd/mpeg_stream.c
rename : src/input/vcd/libvcd/mpeg_stream.h => contrib/libvcd/mpeg_stream.h
rename : src/input/vcd/libvcd/obj.h => contrib/libvcd/obj.h
rename : src/input/vcd/libvcd/pbc.c => contrib/libvcd/pbc.c
rename : src/input/vcd/libvcd/pbc.h => contrib/libvcd/pbc.h
rename : src/input/vcd/libvcd/salloc.c => contrib/libvcd/salloc.c
rename : src/input/vcd/libvcd/salloc.h => contrib/libvcd/salloc.h
rename : src/input/vcd/libvcd/sector.c => contrib/libvcd/sector.c
rename : src/input/vcd/libvcd/sector_private.h => contrib/libvcd/sector_private.h
rename : src/input/vcd/libvcd/stream.c => contrib/libvcd/stream.c
rename : src/input/vcd/libvcd/stream.h => contrib/libvcd/stream.h
rename : src/input/vcd/libvcd/stream_stdio.c => contrib/libvcd/stream_stdio.c
rename : src/input/vcd/libvcd/stream_stdio.h => contrib/libvcd/stream_stdio.h
rename : src/input/vcd/libvcd/util.c => contrib/libvcd/util.c
rename : src/input/vcd/libvcd/util.h => contrib/libvcd/util.h
rename : src/input/vcd/libvcd/vcd.c => contrib/libvcd/vcd.c
rename : src/input/vcd/libvcd/vcd.h => contrib/libvcd/vcd.h
rename : src/input/vcd/libvcd/vcd_assert.h => contrib/libvcd/vcd_assert.h
rename : src/input/vcd/libvcd/vcd_read.c => contrib/libvcd/vcd_read.c
rename : src/input/vcd/libvcd/vcd_read.h => contrib/libvcd/vcd_read.h
Diffstat (limited to 'src/input/vcd/libvcd/stream_stdio.c')
-rw-r--r-- | src/input/vcd/libvcd/stream_stdio.c | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/src/input/vcd/libvcd/stream_stdio.c b/src/input/vcd/libvcd/stream_stdio.c deleted file mode 100644 index 4eac0f6b3..000000000 --- a/src/input/vcd/libvcd/stream_stdio.c +++ /dev/null @@ -1,236 +0,0 @@ -/* - $Id: stream_stdio.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hvr@gnu.org> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <sys/stat.h> -#include <errno.h> - -#include <cdio/cdio.h> - -#include <libvcd/logging.h> - -/* Private headers */ -#include "stream_stdio.h" -#include "util.h" - -static const char _rcsid[] = "$Id: stream_stdio.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $"; - -#define VCD_STREAM_STDIO_BUFSIZE (128*1024) - -typedef struct { - char *pathname; - FILE *fd; - char *fd_buf; - off_t st_size; /* used only for source */ -} _UserData; - -static int -_stdio_open_source (void *user_data) -{ - _UserData *const ud = user_data; - - if ((ud->fd = fopen (ud->pathname, "rb"))) - { - ud->fd_buf = _vcd_malloc (VCD_STREAM_STDIO_BUFSIZE); - setvbuf (ud->fd, ud->fd_buf, _IOFBF, VCD_STREAM_STDIO_BUFSIZE); - } - - return (ud->fd == NULL); -} - -static int -_stdio_open_sink (void *user_data) -{ - _UserData *const ud = user_data; - - if ((ud->fd = fopen (ud->pathname, "wb"))) - { - ud->fd_buf = _vcd_malloc (VCD_STREAM_STDIO_BUFSIZE); - setvbuf (ud->fd, ud->fd_buf, _IOFBF, VCD_STREAM_STDIO_BUFSIZE); - } - - return (ud->fd == NULL); -} - -static int -_stdio_close(void *user_data) -{ - _UserData *const ud = user_data; - - if (fclose (ud->fd)) - vcd_error ("fclose (): %s", strerror (errno)); - - ud->fd = NULL; - - free (ud->fd_buf); - ud->fd_buf = NULL; - - return 0; -} - -static void -_stdio_free(void *user_data) -{ - _UserData *const ud = user_data; - - if (ud->pathname) - free(ud->pathname); - - if (ud->fd) /* should be NULL anyway... */ - _stdio_close(user_data); - - free(ud); -} - -static long -_stdio_seek(void *user_data, long offset) -{ - _UserData *const ud = user_data; - - if (fseek (ud->fd, offset, SEEK_SET)) - vcd_error ("fseek (): %s", strerror (errno)); - - return offset; -} - -static long -_stdio_stat(void *user_data) -{ - const _UserData *const ud = user_data; - - return ud->st_size; -} - -static long -_stdio_read(void *user_data, void *buf, long count) -{ - _UserData *const ud = user_data; - long read; - - read = fread(buf, 1, count, ud->fd); - - if (read != count) - { /* fixme -- ferror/feof */ - if (feof (ud->fd)) - { - vcd_debug ("fread (): EOF encountered"); - clearerr (ud->fd); - } - else if (ferror (ud->fd)) - { - vcd_error ("fread (): %s", strerror (errno)); - clearerr (ud->fd); - } - else - vcd_debug ("fread (): short read and no EOF?!?"); - } - - return read; -} - -static long -_stdio_write(void *user_data, const void *buf, long count) -{ - _UserData *const ud = user_data; - long written; - - written = fwrite(buf, 1, count, ud->fd); - - if (written != count) - vcd_error ("fwrite (): %s", strerror (errno)); - - return written; -} - -VcdDataSource* -vcd_data_source_new_stdio(const char pathname[]) -{ - VcdDataSource *new_obj = NULL; - vcd_data_source_io_functions funcs = { 0, }; - _UserData *ud = NULL; - struct stat statbuf; - - if (stat (pathname, &statbuf) == -1) - { - vcd_error ("could not stat() file `%s': %s", pathname, strerror (errno)); - return NULL; - } - - ud = _vcd_malloc (sizeof (_UserData)); - - ud->pathname = strdup(pathname); - ud->st_size = statbuf.st_size; /* let's hope it doesn't change... */ - - funcs.open = _stdio_open_source; - funcs.seek = _stdio_seek; - funcs.stat = _stdio_stat; - funcs.read = _stdio_read; - funcs.close = _stdio_close; - funcs.free = _stdio_free; - - new_obj = vcd_data_source_new(ud, &funcs); - - return new_obj; -} - - -VcdDataSink* -vcd_data_sink_new_stdio(const char pathname[]) -{ - VcdDataSink *new_obj = NULL; - vcd_data_sink_io_functions funcs; - _UserData *ud = NULL; - struct stat statbuf; - - if (stat (pathname, &statbuf) != -1) - vcd_warn ("file `%s' exist already, will get overwritten!", pathname); - - ud = _vcd_malloc (sizeof (_UserData)); - - memset (&funcs, 0, sizeof (funcs)); - - ud->pathname = strdup (pathname); - - funcs.open = _stdio_open_sink; - funcs.seek = _stdio_seek; - funcs.write = _stdio_write; - funcs.close = _stdio_close; - funcs.free = _stdio_free; - - new_obj = vcd_data_sink_new (ud, &funcs); - - return new_obj; -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ |