summaryrefslogtreecommitdiff
path: root/src/archive
AgeCommit message (Collapse)Author
2019-05-29input/InputStream: make IsEOF() and IsAvailable() constMax Kellermann
2019-05-07thread/Mutex: use `using` instead of making it a derived classMax Kellermann
Prepare the transition to std::mutex.
2019-05-07input/InputStreams: pass std::unique_lock<> to various methodsMax Kellermann
2019-02-05archive/List: add RAII classMax Kellermann
2019-02-05archive/List: add `noexcept`Max Kellermann
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-10-31*: copyright year 2018Max Kellermann
2018-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-06-22input/Stream: remove attribute "cond", replace with handler interfaceMax Kellermann
This adds a bit of overhead, but also adds flexibility to the API, because arbitrary triggers may be invoked from that virtual method implementation, not just Cond::signal(). The motivation for this is to make the handlers more dynamic, for the upcoming buffering class utilizing ProxyInputStream.
2018-02-03Merge tag 'v0.20.16'Max Kellermann
release v0.20.16
2018-02-03archive/iso9660: libcdio 2.0 compatibilityMax Kellermann
Closes #173
2017-12-27archive/Plugin: return std::unique_ptr<ArchiveFile>Max Kellermann
2017-12-26archive/File, input/Plugin: return InputStreamPtrMax Kellermann
2017-12-26archive/zzip: convert struct to classMax Kellermann
2017-12-22archive/File: eliminate Close(), make destructor virtual insteadMax Kellermann
2017-12-22archive/iso9660: use std::shared_ptr instead of class RefCountMax Kellermann
2017-12-22archive/zzip: use std::shared_ptr instead of class RefCountMax Kellermann
2017-12-22archive/bz2: use std::shared_ptr instead of class RefCountMax Kellermann
2017-12-22archive/File: remove unused attribute "plugin"Max Kellermann
2017-12-22archive/{iso9660,zzip}: unlock the mutex during I/OMax Kellermann
Similar to commit 31ab78ae8e10af948ec95496df0d2abf1ea631a4
2017-12-22archive/bz2: unlock the archive mutex and lock the file mutexMax Kellermann
Fixes deadlock because FileInputStream::Read() unlocks the mutex (which was not locked) and then locks it, keeping it locked. This can result in a deadlock. This happens because the archive and the file mutex are different.
2017-05-08*: add "noexcept" to many, many function prototypesMax Kellermann
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
2017-01-03update copyright yearMax Kellermann
2016-09-16input/InputStream: migrate from class Error to C++ exceptionsMax Kellermann
2016-09-09archive/Plugin: migrate open() from class Error to C++ exceptionsMax Kellermann
2016-09-09input/Plugin: migrate open() from class Error to C++ exceptionsMax Kellermann
2016-06-10util/StringUtil: use CamelCaseMax Kellermann
2016-03-07Merge branch 'v0.19.x'Max Kellermann
2016-03-07archive/iso9660: check path buffer boundsMax Kellermann
2016-03-07archive/iso9660: use a single path buffer for Visit()Max Kellermann
Avoid wasting 4 kB stack per directory level.
2016-03-07archive/iso9660: move the "." and ".." checks upMax Kellermann
2016-03-07archive/iso9660: add local variable "filename"Max Kellermann
2016-03-07archive/iso9660: make variables more localMax Kellermann
2016-03-01*: include cleanup (using iwyu)Max Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2016-02-21archive/bzip2: remove HAVE_OLDER_BZIP2 checkMax Kellermann
The check was added in commit 98fd9b7d, but there was never a definition.
2016-02-21archive/bzip2: convert struct to classMax Kellermann
2016-02-21archive/bzip2: move bz2_fillbuffer into struct Bzip2InputStreamMax Kellermann
2016-02-21archive/bzip2: use C++11 initializerMax Kellermann
2016-02-21input: wrap InputStream in std::unique_ptrMax Kellermann
2015-03-03*: change C-style prototypes, drop "(void)"Max Kellermann
2015-01-01Copyright year 2015Max Kellermann
2014-12-22configure.ac: remove redundant declaration "HAVE_ISO9660"Max Kellermann
2014-12-09configure.ac: add macro MPD_ENABLE_AUTO_LIBMax Kellermann
2014-12-02fs/Path: add methods GetBase() and GetDirectoryName()Max Kellermann
2014-11-26Merge tag 'v0.19.5'Max Kellermann
2014-11-26Merge tag 'v0.18.19' into v0.19.xMax Kellermann
2014-11-24archive/zzip: fix inverted error handlerMax Kellermann
Set the Error when zzip_seek()==-1 and not on success. Fixes a crash after seeking.
2014-11-21configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann
Simplify the definition of many build options.
2014-10-02archive/bzip2: use OpenLocalInputStream()Max Kellermann