Commit Graph

13146 Commits

Author SHA1 Message Date
Max Kellermann b46835e15e util/HugeAllocator: HugeAllocator() returns WritableBuffer<void> 2017-09-21 21:47:49 +02:00
Max Kellermann 3e5ce3c92c util/{Const,Writable}Buffer: add static method FromVoidFloor() 2017-09-21 21:45:39 +02:00
Max Kellermann e5c9b4cd75 util/{Const,Writable}Buffer: add operator==(nullptr_t) 2017-09-21 20:34:36 +02:00
Max Kellermann 8753e558f2 util/HugeAllocator: move MADV_DONTFORK setting to HugeForkCow()
Enforcing MADV_DONTFORK is a surprising limitation for this library
which aims to be generic.
2017-09-21 19:36:33 +02:00
Max Kellermann f6691579de Merge branch 'v0.20.x' 2017-09-20 23:57:28 +02:00
Max Kellermann 828f5f8384 lib/icu/CaseFold: disable broken strxfrm() callback 2017-09-20 23:55:14 +02:00
Max Kellermann 1295a1272a lib/icu/Compare: add fallback using strcasecmp() and strcasestr()
Our IcuCaseFold() fallback using strxfrm() is not actually case
insensitive.  This commit fixes the problem by switching to
strcasecmp().  That function is not guaranteed to support UTF-8, but
it's the best we can do in this sparse situation.

Closes #111
2017-09-20 23:43:27 +02:00
Max Kellermann 66646d9276 SongFilter: use class IcuCompare 2017-09-20 23:43:26 +02:00
Max Kellermann d0497dba92 lib/icu/Compare: OO wrapper for IcuCaseFold() 2017-09-20 23:32:55 +02:00
Max Kellermann 42914e8227 lib/icu/CaseFold: add "noexcept" 2017-09-20 23:32:54 +02:00
Max Kellermann 59b49b7881 db/Selection: add missing config.h 2017-09-20 23:32:54 +02:00
Max Kellermann 5620f16330 lib/icu/Collate: move IcuCaseFold() to CaseFold.cxx 2017-09-20 23:11:58 +02:00
Max Kellermann be024d4ad7 lib/icu/Collate: remove unnecessary assert() 2017-09-20 23:05:31 +02:00
Max Kellermann cfc152d979 input/async: remove outdated API documentation 2017-09-19 19:56:37 +02:00
Max Kellermann 513212c5e8 input/async: use std::exchange() 2017-09-19 19:55:16 +02:00
Max Kellermann 99a447dff5 input/async: use C++11 initializers 2017-09-19 19:54:07 +02:00
Max Kellermann 56a9bf459d util/SliceBuffer: use C++11 initializers 2017-09-19 19:48:04 +02:00
Max Kellermann 11dbba3503 util/HugeAllocator: document std::bad_alloc 2017-09-19 19:45:52 +02:00
Max Kellermann 8662427d48 util/HugeAllocator: use std::exchange() 2017-09-19 19:42:21 +02:00
Max Kellermann 821480d329 util/HugeAllocator: make constructor explicit 2017-09-19 19:42:19 +02:00
Max Kellermann 5ce93d6fa8 output/sndio: refuse to build with libroarsndio
RoarAudio's sndio emulation has been a source for annoyances.  First,
their headers turned out to be broken with C++, due to their use of
the "new" keyword.  Then they used a preprocessor macro to rename
"sio_hdl" to something else, effectively disallowing the use of
forward declarations.  Enough is enough, and I'm removing support for
it.

RoarAudio users should better use the RoarAudio output plugin.
2017-09-19 19:38:43 +02:00
Max Kellermann 735eabb066 output/sndio: move #include below guard 2017-09-19 18:59:04 +02:00
Max Kellermann 412ff762bb output/sndio: use forward declarations 2017-09-19 18:58:13 +02:00
Max Kellermann 44bbf42a9f Merge branch 'v0.20.x' 2017-09-19 18:58:02 +02:00
Max Kellermann 75c740fe2b output/sndio: fix indent 2017-09-19 18:50:35 +02:00
Max Kellermann 6c8d86bb90 output/sndio: rename the "sio_hdl" variable to avoid clash with struct name 2017-09-19 18:49:33 +02:00
Charlie Waters b253a6b71e ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback to container duration (fix MusicPlayerDaemon/MPD#110) 2017-09-18 10:39:27 +02:00
Christopher Zimmermann 030f87c90c Add sndio mixer plugin 2017-09-16 11:58:33 +02:00
Christopher Zimmermann ae941a7665 SndioOutput: Move class definition to header
no change in behaviour.
2017-09-16 09:14:56 +02:00
Christopher Zimmermann 4d563e08e1 Fix building on BSDs 2017-09-16 09:14:11 +02:00
Max Kellermann 8a81b986c0 net/AllocatedSocketAddress: pass SocketAddress by value to operator!= 2017-09-13 17:51:51 +02:00
Max Kellermann a6e62479be system/Error: include cleanup 2017-09-13 17:49:37 +02:00
Max Kellermann 6c825064ea system/Error: add more "noexcept" 2017-09-13 17:48:13 +02:00
Max Kellermann 13d02968bd system/FileDescriptor: Close() should not be called on undefined object
It does not do much harm - but it causes an unnecessary (failing)
system call.
2017-09-13 17:43:13 +02:00
Max Kellermann e576556149 system/UniqueFileDescriptor: remove duplicate "using" statements 2017-09-13 17:41:15 +02:00
Max Kellermann 66e74900df system/UniqueFileDescriptor: expose CheckDuplicate() 2017-09-13 17:40:33 +02:00
Max Kellermann aadc735d71 system/FileDescriptor: mention class UniqueFileDescriptor in API documentation 2017-09-13 17:39:29 +02:00
Max Kellermann a13897cf6f system/FileDescriptor: add CheckDuplicate() 2017-09-13 17:37:28 +02:00
Max Kellermann b188ae0e5c system/FileDescriptor: use _WIN32 instead of WIN32 2017-09-13 17:36:48 +02:00
Max Kellermann c196710fae util/WStringCompare: relicense to BSD-2 2017-09-13 16:43:41 +02:00
Max Kellermann e4f62483ff util/StringView: add default constructors
It was implicitly deleted since commit
db23c2f27b
2017-09-13 12:59:31 +02:00
Max Kellermann 8d9347edc5 Util/WStringCompare: use struct WStringView 2017-09-13 11:47:48 +02:00
Max Kellermann eff821c1ca Util/StringView: move struct WStringView to separate header 2017-09-13 11:22:59 +02:00
Max Kellermann 3bcd6ecbad util/Exception: update API documentation 2017-09-13 10:49:34 +02:00
Max Kellermann e76f4c2ae9 util/DeleteDisposer: convert struct to class 2017-09-13 10:35:51 +02:00
Max Kellermann f46ac45d69 util/*: update include guards 2017-09-13 10:35:11 +02:00
Max Kellermann 1d1259a86d util/AllocatedString: add method data() 2017-09-13 10:34:12 +02:00
Max Kellermann 101f08ca75 util/Cast: make the "member" pointer const 2017-09-13 10:32:55 +02:00
Max Kellermann 3b7f9827ab Util/IterableSplitString: add wchar_t specialization 2017-09-12 19:12:09 +02:00
Max Kellermann f98bf39005 Util/IterableSplitString: add template class BasicIterableSplitString 2017-09-12 19:12:09 +02:00