Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-05-29 | input/InputStream: make IsEOF() and IsAvailable() const | Max Kellermann | |
2019-05-07 | thread/Mutex: use `using` instead of making it a derived class | Max Kellermann | |
Prepare the transition to std::mutex. | |||
2019-05-07 | input/InputStreams: pass std::unique_lock<> to various methods | Max Kellermann | |
2019-02-05 | archive/List: add RAII class | Max Kellermann | |
2019-02-05 | archive/List: add `noexcept` | Max Kellermann | |
2018-11-19 | check.h: remove obsolete header | Max 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 2018 | Max Kellermann | |
2018-10-14 | build with Meson instead of autotools | Max 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-22 | input/Stream: remove attribute "cond", replace with handler interface | Max 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-03 | Merge tag 'v0.20.16' | Max Kellermann | |
release v0.20.16 | |||
2018-02-03 | archive/iso9660: libcdio 2.0 compatibility | Max Kellermann | |
Closes #173 | |||
2017-12-27 | archive/Plugin: return std::unique_ptr<ArchiveFile> | Max Kellermann | |
2017-12-26 | archive/File, input/Plugin: return InputStreamPtr | Max Kellermann | |
2017-12-26 | archive/zzip: convert struct to class | Max Kellermann | |
2017-12-22 | archive/File: eliminate Close(), make destructor virtual instead | Max Kellermann | |
2017-12-22 | archive/iso9660: use std::shared_ptr instead of class RefCount | Max Kellermann | |
2017-12-22 | archive/zzip: use std::shared_ptr instead of class RefCount | Max Kellermann | |
2017-12-22 | archive/bz2: use std::shared_ptr instead of class RefCount | Max Kellermann | |
2017-12-22 | archive/File: remove unused attribute "plugin" | Max Kellermann | |
2017-12-22 | archive/{iso9660,zzip}: unlock the mutex during I/O | Max Kellermann | |
Similar to commit 31ab78ae8e10af948ec95496df0d2abf1ea631a4 | |||
2017-12-22 | archive/bz2: unlock the archive mutex and lock the file mutex | Max 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 prototypes | Max Kellermann | |
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing. | |||
2017-01-03 | update copyright year | Max Kellermann | |
2016-09-16 | input/InputStream: migrate from class Error to C++ exceptions | Max Kellermann | |
2016-09-09 | archive/Plugin: migrate open() from class Error to C++ exceptions | Max Kellermann | |
2016-09-09 | input/Plugin: migrate open() from class Error to C++ exceptions | Max Kellermann | |
2016-06-10 | util/StringUtil: use CamelCase | Max Kellermann | |
2016-03-07 | Merge branch 'v0.19.x' | Max Kellermann | |
2016-03-07 | archive/iso9660: check path buffer bounds | Max Kellermann | |
2016-03-07 | archive/iso9660: use a single path buffer for Visit() | Max Kellermann | |
Avoid wasting 4 kB stack per directory level. | |||
2016-03-07 | archive/iso9660: move the "." and ".." checks up | Max Kellermann | |
2016-03-07 | archive/iso9660: add local variable "filename" | Max Kellermann | |
2016-03-07 | archive/iso9660: make variables more local | Max Kellermann | |
2016-03-01 | *: include cleanup (using iwyu) | Max Kellermann | |
2016-02-26 | update copyright year to 2016 | Max Kellermann | |
2016-02-21 | archive/bzip2: remove HAVE_OLDER_BZIP2 check | Max Kellermann | |
The check was added in commit 98fd9b7d, but there was never a definition. | |||
2016-02-21 | archive/bzip2: convert struct to class | Max Kellermann | |
2016-02-21 | archive/bzip2: move bz2_fillbuffer into struct Bzip2InputStream | Max Kellermann | |
2016-02-21 | archive/bzip2: use C++11 initializer | Max Kellermann | |
2016-02-21 | input: wrap InputStream in std::unique_ptr | Max Kellermann | |
2015-03-03 | *: change C-style prototypes, drop "(void)" | Max Kellermann | |
2015-01-01 | Copyright year 2015 | Max Kellermann | |
2014-12-22 | configure.ac: remove redundant declaration "HAVE_ISO9660" | Max Kellermann | |
2014-12-09 | configure.ac: add macro MPD_ENABLE_AUTO_LIB | Max Kellermann | |
2014-12-02 | fs/Path: add methods GetBase() and GetDirectoryName() | Max Kellermann | |
2014-11-26 | Merge tag 'v0.19.5' | Max Kellermann | |
2014-11-26 | Merge tag 'v0.18.19' into v0.19.x | Max Kellermann | |
2014-11-24 | archive/zzip: fix inverted error handler | Max Kellermann | |
Set the Error when zzip_seek()==-1 and not on success. Fixes a crash after seeking. | |||
2014-11-21 | configure.ac: add macro MPD_ENABLE_AUTO_PKG | Max Kellermann | |
Simplify the definition of many build options. | |||
2014-10-02 | archive/bzip2: use OpenLocalInputStream() | Max Kellermann | |