aboutsummaryrefslogtreecommitdiffstats
path: root/src/archive (follow)
Commit message (Collapse)AuthorAgeFilesLines
* input_stream: added attribute "uri"Max Kellermann2010-01-183-5/+4
|
* input_stream: added function input_stream_deinit()Max Kellermann2010-01-183-0/+6
| | | | All close() implementations must call this method.
* input_stream: return allocated input_stream objectsMax Kellermann2010-01-013-47/+44
| | | | | | | | Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
* Update copyright notices.Avuton Olrich2009-12-316-6/+6
|
* archive: use reference counting for archive+inputMax Kellermann2009-12-313-1/+31
| | | | | | | Make the input_stream implementation hold a reference on the archive_file object. Allow the caller to "close" the archive_file object immediately, no matter if the open_stream() method has succeeded or not.
* input/archive: don't initialize input_stream.readyMax Kellermann2009-12-313-0/+3
| | | | The archive plugin should decide this.
* archive/bz2: allocate buffer staticallyMax Kellermann2009-12-311-7/+3
| | | | Reduce the number of malloc()/free() calls.
* archive/bz2: added struct bz2_input_streamMax Kellermann2009-12-311-21/+32
| | | | Don't use the bz2_archive_file object for the input_stream.
* archive/iso9660: added struct iso9660_input_streamMax Kellermann2009-12-311-20/+32
| | | | Don't use the iso9660_archive_file object for the input_stream.
* archive/iso9660: set input_stream.{size,offset}Max Kellermann2009-12-311-8/+8
|
* archive/zzip: added struct zzip_input_streamMax Kellermann2009-12-311-19/+33
| | | | Don't use the zzip_archive object for the input_stream.
* archive/zzip: set input_stream.{size,offset}Max Kellermann2009-12-311-3/+5
|
* archive_plugin: use GError in the open() methodMax Kellermann2009-12-163-7/+8
|
* archive_plugin: wrap method callsMax Kellermann2009-12-163-3/+14
| | | | | Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
* archive_plugin: pass const string to method open()Max Kellermann2009-12-163-3/+3
|
* archive: added a C header for each pluginMax Kellermann2009-12-166-0/+78
| | | | | Moved the archive plugin "extern" declarations into each plugin header.
* archive/bz2: removed the bz2_context typedefMax Kellermann2009-12-161-13/+13
| | | | Use the raw struct name instead.
* archive/bz2: renamed archive sources and plugin variablesMax Kellermann2009-12-161-1/+1
|
* archive/iso: renamed plugin to "iso9660"Max Kellermann2009-12-161-34/+44
| | | | Based on libiso9660.
* archive/bz2: use g_path_get_basename()Max Kellermann2009-12-161-10/+1
| | | | | Use g_path_get_basename() instead of manually filtering the path name. Big advantage: g_path_get_basename() cannot fail.
* input_stream: return errors with GErrorMax Kellermann2009-12-153-26/+56
|
* archive/bz2: simplified error handling, short readMax Kellermann2009-12-151-34/+23
| | | | | Don't attempt to fill the whole buffer in the read() method, return whatever libbz2 provides with the first successful BZ2_bzDecompress().
* archive/bz2: no CamelCaseMax Kellermann2009-12-151-11/+10
|
* archive/zzip: removed the "zip_context" typedefMax Kellermann2009-12-151-11/+11
| | | | Use the raw struct name.
* archive/zip: renamed plugin to "zzip"Max Kellermann2009-12-151-28/+28
| | | | This plugin is based on libzzip.
* Merge branch 'v0.15.x'Max Kellermann2009-12-153-4/+11
|\ | | | | | | | | | | | | | | Conflicts: src/archive/bz2_plugin.c src/archive_api.h src/input/file_input_plugin.c test/run_input.c
| * iso, zip: fixed memory leak in destructorMax Kellermann2009-12-152-2/+4
| | | | | | | | Free the "context" pointer in the method archive_plugin.close().
| * archive: close archive when stream is closedMax Kellermann2009-12-153-0/+6
| | | | | | | | | | | | | | | | Fixes a memory leak: the "archive" input plugin opens the archive, but never closes it. This patch moves the responsibility for doing that to archive_plugin.open_stream(). This is an slight internal API change, but it is the simplest and least intrusive fix for the memory leak.
| * archive/bz2: removed NULL check before g_free()Max Kellermann2009-12-151-2/+2
| | | | | | | | g_free(NULL) is allowed.
* | archive/bz2: bz2_fillbuffer() returns boolMax Kellermann2009-12-151-5/+6
| |
* | archive/bz2: fixed indentationMax Kellermann2009-12-151-15/+22
| |
* | archive/bz2: g_malloc() cannot failMax Kellermann2009-12-151-4/+2
| |
* | include config.h in all sourcesMax Kellermann2009-11-123-1/+3
| | | | | | | | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
* | input_stream: use "goffset" instead of "off_t"Max Kellermann2009-10-111-1/+1
|/ | | | | | | | | | | | The "off_t" type may change when you enable or disable large file support on 32 bit platforms. This caused severe ABI problems within MPD when we enabled LFS for the first time: two sources included config.h and sys/types.h in different order, and had different off_t sizes - leading to memory corruption because of ABI incompatibility. This patch attempts to get rid of all public "off_t" uses: it removes "off_t" from the input_stream ABI/API, and switches to GLib's 64 bit "goffset" type. This may hurt 32 bit embedded platforms a tiny bit, but that's not even measurable.
* archive/zip: pass NULL instead of 0 to zzip_dir_open()Max Kellermann2009-05-041-2/+2
| | | | | The second parameter of zzip_dir_open() is a pointer. Pass the NULL pointer instead of 0 (with implicit conversion at compile time).
* all: Update copyright header.Avuton Olrich2009-03-133-18/+21
| | | | | | | | This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
* input_stream: moved struct input_plugin to input_plugin.hMax Kellermann2009-03-023-3/+3
| | | | Start to separate private from public input_stream API.
* input_stream: make seek(), buffer() optionalMax Kellermann2009-01-303-37/+0
| | | | | | Make those two methods optional to implement, and let input_stream.c provide fallbacks. The buffer() method will be removed one day, and there is now only one implementation left (input_curl.c).
* archive: replaced setup_stream() with open_stream()Max Kellermann2009-01-303-47/+27
| | | | | | | The open_stream() method opens the input_stream. This allows the archive plugin to do its own initialization, and it also allows it to use input_stream.data. We can remove input_stream.archive now, which was unnatural to have in the first place.
* archiveapi: adding seeking support in zip archivesViliam Mateicka2009-01-211-2/+8
|
* added missing explicit config.h includesMax Kellermann2009-01-081-0/+1
|
* archive: use GLib instead of utils.hMax Kellermann2009-01-023-5/+3
|
* update: fixing empty filenames in archivesViliam Mateicka2008-12-291-1/+4
|
* archiveapi: archive plugin for ISO filesViliam Mateicka2008-12-161-0/+258
|
* archiveapi: archive plugin for ZIP filesViliam Mateicka2008-12-161-0/+196
|
* archiveapi: archive plugin for BZ2 filesViliam Mateicka2008-12-161-0/+303