Max Kellermann
a159299a4b
lib/dbus/AsyncRequest: new helper class
2018-06-04 12:21:17 +02:00
Max Kellermann
d048545f1a
lib/dbus/Connection: add DBusConnection& cast operator
2018-06-04 12:20:41 +02:00
Max Kellermann
aea6d354b7
lib/dbus/ObjectManager: use TypeTraits instead of CPP macro
2018-06-03 20:30:08 +02:00
Max Kellermann
d3793dfe5b
lib/dbus/Types: add ObjectPathTypeTraits
2018-06-03 20:30:08 +02:00
Max Kellermann
234f8d287a
lib/dbus/Types: rename _MakeStructTypeAsString to ConcatTypeAsString
2018-06-03 20:29:01 +02:00
Max Kellermann
e560f6bc63
lib/dbus/ReadIter: add ForEachProperty()
2018-06-03 20:18:46 +02:00
Max Kellermann
fbfbc5682a
lib/dbus/ReadIter: add ForEachRecurse()
2018-06-03 20:18:08 +02:00
Max Kellermann
d4141bf7f1
lib/dbus/ReadIter: add API documentation
2018-06-03 20:05:37 +02:00
Max Kellermann
6c81fa1ec5
neighbor/udisks: move code to ForEachInterface()
2018-06-03 14:47:12 +02:00
Max Kellermann
b63664988f
lib/dbus/Types: support DBUS_TYPE_DICT_ENTRY
2018-06-03 12:19:17 +02:00
Max Kellermann
37e25f93d6
lib/dbus/Glue: move Connect()/Disconnect() calls to I/O thread
2018-06-03 12:08:37 +02:00
Max Kellermann
d58d65ebf0
lib/dbus/Glue: use private connection
...
Avoid interfering with libraries also using the shared connection.
2018-06-03 11:00:58 +02:00
Max Kellermann
f3ffdaf21f
lib/dbus/Glue: singleton for global initialization
2018-06-03 09:28:04 +02:00
Max Kellermann
dc111bbec2
odbus: import dbus-1 OO wrapper library
...
From a7cef404c1
To be used by upcoming code.
2018-06-02 19:15:56 +02:00
Max Kellermann
43a43c1e2b
release v0.20.19
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlriEvAQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEnEpD/4+yH4ydc9l1/j5AD08jFyUUe6YSnC8gLsG
DRrSOU1BQltYAPhlRGxA/HlKxboaT7v5qcXBdIV+HwKs6149j8qxip8g8PYoUBmB
mn6YckjEPCLpLe4WSvfGdm5a1aI7nMC76wHBvTPCAMTZk9FAmUED4DqgNYmWycOd
MpXZbzZdvb2Ti4dQARrK8AbMjTD44LXDOhBgWYnZLpo1ovYhnGvTPAElCQN23tbT
VMcJPYe86lzgs1vWwgURzkn7Y3CaSMF3G+aKw/oLEK3giZmE0y7Kov9Ycy4IC6+3
aXuEP9drMIltAyZ2hmeH6JFigbgQbDhwuAu1biYLLukwa0oEOEFTP1+yxAVbi/vx
58rD6uWJeFbqPna6146TAYVi8QeymJWfhFWxkcol2u7etrIxXpX//qo8Mv+AiLor
wOrTerKgRFYmtSH14wIoSfKsn2wmsXOhDE38h621PAzqvQXDzrBLMo4HMJ4y+G+q
Y6LZWatweL6I2qMsOKWvECOJNxQJrkDFOLq8Mj+O4v6iiLQWhiul1hi2g8EOcRMI
SkdWTakla3LbmuUN1dKQJwoojNevnP5yPXI15rM6JMZkXJcWxi4mvnzoAFnBTmov
57GxpShueo2yy9yrFgS7hBuRsBXzYxze/xY0LSYSO4SjCjNCnWXse6O9pI7JqFbI
m5JJW96Nqg==
=1wwq
-----END PGP SIGNATURE-----
Merge tag 'v0.20.19'
release v0.20.19
2018-04-26 20:06:41 +02:00
Max Kellermann
1e54297be8
lib/ffmpeg/Init: fix av_register_all() deprecation warning
...
av_register_all() was deprecated in
FFmpeg/FFmpeg@0694d87024
2018-04-25 21:35:33 +02:00
Max Kellermann
b30a510b45
release v0.20.18
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlqR3zoQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEqNGEACGhsZJbhqls0EawfHhpOz/x7JcloMLWvoX
GzuvVinhdFmmFId0akLsg3TCyGElNA+4YzfDjB1TyMpPFBUxM/nnthYPrSmjiT68
t+0IV6OnqFVLE2PF6pHV2Gia0Km746GZBJ+TRLeZSIksADH7nU+soepIA6idwNRN
x8Wo0ashsRIPG3FyL6f/2W/vUvD/enoxohCBB/tvnZ73Px0k2bYAwlBNW/i9/yrX
ktJ2yJqbCkKOhBQnbUvsG72Nrd4/Iz2m7cA//KBVrDEGwNv5hxNKiK/hCq3YK2W9
Ndnl0+EQxNLT1NUwF5e1LS3GtU2Mh3FQwrcq81Cj7o/wEH5e7piKBZhwDCBgOYYH
vLbaLYWK+XW/EqitkRZx5ZBrfNoqOrLreX0d2+AZJOjKDjAWgMZXoOEjmQC9/Dcj
pGcRow4jAusBRJKVN0Wmu6eeVQMjiYJNWehhyhhruShHL2ZAjJSuDhygAFW5YB3I
N2kfhwZWMHVFpA0HvcVx5JwNx7U1OyJGs0lRGThV/6jhnklGzoujvomRNJ6VNx10
ppYhmcLaHm19GR1eb8KCYnZYL2QWoQT5YLVlm0vybTX9i1k3wdf9ezU/n5hB52rP
j20Ol1I9YQw4/L985SV1W+8ll1i71o9paoJx17C8AQpxWWamQLe+vgENt9fPKIPl
aLBYU7hq9Q==
=ndLr
-----END PGP SIGNATURE-----
Merge tag 'v0.20.18'
release v0.20.18
2018-02-24 23:16:06 +01:00
Max Kellermann
31794ac376
lib/nfs/FileReader: move sys/stat.h to header because "struct stat" may be macro
...
It indeed is a macro on Windows.
2018-02-24 22:03:38 +01:00
Max Kellermann
2141fdf06e
lib/nfs/Connection: use winsock2.h instead of poll.h on Windows
2018-02-24 22:02:42 +01:00
tpoeiras
3f3e0739c4
Fix curl storage plugin failure if the authentication method is different than basic.
2018-02-24 21:59:13 +01:00
Max Kellermann
65bbb0e0aa
release v0.20.17
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlqAMO0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEg8eD/49NlFvlNdkamgYvh7MI1Sn67yKAwQt+N51
W0hVnmXwPoSg76gfWw8J9kVyQy/jEkaCxsPF/UuEbH5jzqAC0y8hwYVRkJaRc9wN
ZfwHvLHeaUxQweoguEwRSREy4ZC4ImQOK+eAxI1R43mqxxyhko1Akc1NmRVWzYfv
/FGmAjTi1U6FR/yDpdSFn1NdlPmIgZ4WDuRsDT2NrshX/Bb32FiyZBytvek2P8n/
QNgXv18E4yWXSb+zBYhPy/eaKhGasyjI3cbht1F0hNW9Yo/BsFxDuwXrX1vNBaOS
E3Dux4s/nfcJ4RMRjmrkFwXImCvxt7+AGfh8RYBXuwqMExXz2kZjIs4ZVvO7Nu9A
pFDJQwRIojXMfk73LU/MEpmNNEXhvfQLYkrM7poSqYaOr8SWMszqSgNnnfq6+flB
sJbstgAStI6lL0jy0HrtMTvPVEiAGh6wCvMy/r2G9XUAyw76ccOg7MaIldn0MHJv
A51+GfRTi4ILH0ReL1BGAg9nG97uFmRAWGkfkhtyD540xGRk7x5R8/ml4zFogHN6
SbrV0NPdwk+uFd0y2znQT2gWyjc0id4WEKEoHX+Gl6c5qtPIfrq+PQPyk9kR+u+i
AxwqMoKQer6Ji5qnsvCiKSkaGGiVNivrZ11jDWNCZaKjmvlKlvj/P5GxbPpORorq
v4ru/4vNXQ==
=v4t8
-----END PGP SIGNATURE-----
Merge tag 'v0.20.17'
release v0.20.17
2018-02-11 13:22:43 +01:00
Max Kellermann
9187a08106
lib/curl: remove .netrc support on Android
...
Not needed on Android, and the implementation uses getpwuid_r() which
is unavailable on old Android versions.
2018-02-09 23:14:29 +01:00
Max Kellermann
3859a50466
python/build/libs.py: convert CURL edit to quilt patch
2018-02-09 23:14:27 +01:00
Max Kellermann
250b6a3d52
release v0.20.16
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlp2BjEQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEl0HEACEOGoX3a8slWwuPsqdOu+thc73SIMVzqF9
xzxFbGLyp0MzXTAgU+SLzfbD4/gerglC7TRbGzsvVu7iwxXeKhEL/SJ5RhrCQM3E
U8jaOeavMWeqX60pdbTz2zw4maKAD7U3fWcYxoh09EBaZa7Mm/j7URPLqrlWT7VD
iWqdLcC4HZarOxBbq0CY7rQPVsAVZZ5l43MDV6hiInSn0wWo783G6BtYFgvgH8qk
pZIL0yScQrjyj9D0fgfDC9DBVfHqMqpWW5G2rNhsXTUtpdb9V5tB2B8ZbIUWJfD7
aVFztCwwmbiBle4UBHfyyDLfZkBZmU/qKc9+I3WUxT4DLbA8gDXZFjb7zU80NMge
xzbXeO7XvxvSm7groqRh3Vy0nbkBMB9wTwzre3ULhYyhY2vVISb9lSyRtUE9xuR8
SL2zpdgVcFdTUSKat63ikeU4sbYvssra3ZDRnAyoFF2iVpT2J2B95ZVNfaIYbRSQ
lidlz8q3Px5GUDe3D0ao3hFk5t1Hg2jXx3nbz/Kk+SwZpsaiCewl6zjptye7R7zD
e9OMxYrU+/opsynRE5NFuTvkRKUG1kC47/rWgGZWI9Cbv8+lse1NO0c7VzM7o1hH
Bfk5AhEkv8tLNM+39evXdNQVB0cna5ndSDOkYBcPI78/PUNd+TnrPdfI/W3NCnRl
I+CWQE3uSQ==
=+tJ2
-----END PGP SIGNATURE-----
Merge tag 'v0.20.16'
release v0.20.16
2018-02-03 19:59:29 +01:00
Max Kellermann
dead461542
lib/upnp/Init: enable IPv6
2018-01-31 18:15:46 +01:00
Max Kellermann
3d5da1ac73
lib/upnp/Init: use nullptr instead of 0
2018-01-31 18:14:26 +01:00
Max Kellermann
b6013a92e0
lib/curl/Request: merge two "try" blocks
2018-01-29 23:25:03 +01:00
Max Kellermann
97f670658f
util/StringFormat: new utility library
2018-01-24 13:28:28 +01:00
Max Kellermann
1da64fb79c
lib/curl/Delegate: helper class for response body parsers
...
Eliminate duplicate code.
2018-01-23 16:48:43 +01:00
Max Kellermann
b6d858f4d6
lib/expat/Parser: make the "is_final" argument optional
2018-01-21 14:37:10 +01:00
Max Kellermann
dedede3caa
lib/expat/Parser: add method CompleteParse()
2018-01-21 14:35:47 +01:00
Max Kellermann
b14fc907f9
lib/expat/Parser: forward Parse() arguments
2018-01-21 14:34:53 +01:00
Max Kellermann
c3b8568560
lib/curl/Handler: add API documentation
2018-01-20 00:28:54 +01:00
Max Kellermann
fe5d0ce827
Merge branch 'v0.20.x'
2018-01-20 00:04:35 +01:00
Max Kellermann
38d56dddf1
lib/icu/Compare: allow copying
2018-01-19 23:49:50 +01:00
Max Kellermann
0ead72a404
lib/upnp/ContentDirectoryService: work around GCC 5 bug
...
Closes #193
2018-01-18 21:55:58 +01:00
Max Kellermann
9420066895
input/qobuz: new input plugin to receive Qobuz streams
2018-01-15 21:50:20 +01:00
Max Kellermann
74eac1d449
lib/curl/Request: add constructor without "url" parameter
...
Allows constructing the request first and set the URL later. This is
needed because curl_easy_escape() is needed to construct the URL,
which however needs the CURL "easy" handle created by the Request class.
2018-01-15 10:36:48 +01:00
Max Kellermann
86c50574d2
lib/yajl/Callbacks: add wrappers for start_array and end_array
2018-01-12 14:33:22 +01:00
Max Kellermann
edcd0b9913
lib/curl/Request: add methods StartIndirect(), StopIndirect()
2018-01-11 20:51:23 +01:00
Max Kellermann
55d1473918
lib/yajl/Callbacks: OO wrapper for yajl_callbacks
2018-01-11 20:25:17 +01:00
Max Kellermann
0211c7f7f3
lib/yajl/ParseInputStream: use InputStream::LockRead() to reduce lock duration
2018-01-11 20:11:04 +01:00
Max Kellermann
5913994169
lib/yajl/ParseInputStream: eliminate variable "done"
2018-01-11 20:09:52 +01:00
Max Kellermann
26b1573cbe
playlist/SoundCloud: move code to Yajl::Parse(InputStream&)
2018-01-11 20:08:02 +01:00
Max Kellermann
8e29430f21
lib/yajl/Handle: libyajl C++ bindings
2018-01-11 19:25:46 +01:00
Max Kellermann
cb86023bd7
lib/curl/Form: new library
2018-01-11 17:27:25 +01:00
Max Kellermann
bd2cb40424
lib/curl/Easy: add curl_easy_escape() wrapper
2018-01-11 17:27:25 +01:00
Max Kellermann
a8df5e109b
input/curl: use StringView::StartsWith()
2018-01-11 14:52:35 +01:00
Max Kellermann
3f4f7b0a53
lib/upnp/Discovery: protect "downloaders" accesses with mutex
2018-01-02 14:55:57 +01:00
Max Kellermann
8c7d7dfa5b
lib/upnp/Util: remove unused function csvToStrings()
2018-01-02 14:16:57 +01:00
Max Kellermann
cdf615f783
lib/upnp/ContentDirectoryService: use SplitString() instead of csvToStrings()
2018-01-02 14:16:57 +01:00
Max Kellermann
7d96883d64
lib/upnp/Util: use std::string::erase() instead of ..::replace()
2018-01-02 14:16:57 +01:00
Max Kellermann
1fd8d46064
lib/upnp/ClientInit: return UpnpClient_Handle
2018-01-02 12:22:44 +01:00
Max Kellermann
43d2fd73ab
lib/xiph/VorbisComments: return std::unique_ptr<Tag>
2017-12-20 15:10:59 +01:00
Max Kellermann
cb3042ffb2
tag/Builder: CommitNew() returns std::unique_ptr<Tag>
2017-12-20 14:55:25 +01:00
Max Kellermann
8ac73a9eba
output/alsa: add attributes "dop" and "allowed_formats"
2017-12-19 11:57:52 +01:00
Max Kellermann
d05c3f4e4d
lib/alsa/AllowedFormat: throw std::invalid_argument on error
2017-12-19 11:57:52 +01:00
Max Kellermann
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +01:00
Max Kellermann
cd3ed720e0
lib/alsa/AllowedFormat: add API documentation
2017-12-19 08:41:53 +01:00
Max Kellermann
6246d36fe6
Merge branch 'v0.20.x'
2017-12-16 20:56:06 +01:00
Max Kellermann
dfaf08743c
*: check defined(_WIN32) instead of defined(WIN32)
...
Only _WIN32 is defined by the compiler, and WIN32 is not standardized
and may be missing.
Closes #169
2017-12-12 10:22:20 +01:00
Uwe Kleine-König
5a11e03725
lib/upnp: use include path without upnp/ prefix and honor pkg-config CFLAGS
...
If libupnp is installed in a non-standard location we must rely on the
include path provided by $(pkg-config --cflags libupnp). Relative to the
path given from that command no prefix must be used to find the respective
files.
2017-12-11 18:58:09 +01:00
Max Kellermann
fbc4bb29dc
Merge branch 'v0.20.x'
2017-12-03 16:22:08 +01:00
Max Kellermann
78728138a0
lib/upnp/Compat: disable the 1.8 API emulation with libupnp 1.6.24
...
libupnp 1.6.24 added a few badly designed macros which break the MPD
build:
8177a4195a
/
To work around this, we disable our emulation functions (from
714011c81e
) on this libupnp version.
Closes #163
2017-12-02 14:47:27 +01:00
Max Kellermann
2b3c1d640e
release v0.20.12
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAloZt0YQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFElF7D/9DIkK8ArcrqtGvLQFseOucf0FPmAD7csoq
oDN4TL8UGUSYxcSt3wQqt6rp5JyWAFTuXPpneytqkZ0tW04y4kkvmIrRkYzuBLgt
yupg1G5fRmidwcqdnb6LqgSdW66pY3U6keaED7LVnMrJbd5MM8R7FejiZFoWmD4C
c9pUU79MbeRk0w2F9Ws0bkd+yU7lUiolcqOg2VK25MZnObI7qf+/fIKOVK0Q9Q2W
AdHLHNliySYPBT/po5YN+VAWPcxSFHXkfN552x0N/U1D/klPLmP1q724frFT+DRQ
vXC5ojDDmSc+uUGr8D5IESfzMOPFj5ag0SqPSNe7Cp5amcy/chNqmo/XKEGqtB+X
BI/DfRHEPGz5wtz6x+AcxFdE6LBAjMpQ2H3ybxGDK1396dNsngAA/g8eyvnzie/2
USQO10O9Ymhezt7lMqhMLxJC/5Q0JLsKRIgqCxABQfTh14JF+c5bkT3zetabA87r
CSyHGr3+tN4KtSJwefGjaGTCy5lN1SB8bRgWVLVVpPYAvtsNS1LwwTyeI3AtYmxr
fylkATAHawSXzdgxgzFA8GmscxaxO/gLud+9ekb33ZIq9bnXiOXpY5u98bxCPWkn
JgzeC4E6xnI3Ft+Ss7Bu0zOgSl2jUiOV7zAy7z8Lo9Qv6QYuIvSi9m+Snxstkul0
9QwG6bA+YA==
=BUsZ
-----END PGP SIGNATURE-----
Merge tag 'v0.20.12'
release v0.20.12
2017-11-25 19:47:56 +01:00
Max Kellermann
714011c81e
lib/upnp: adapt to libupnp 1.8 API changes
...
Closes #155
2017-11-16 11:39:11 +01:00
Max Kellermann
952ff4207b
lib/upnp/Callback: make "evp" parameter const
2017-11-16 11:37:58 +01:00
Max Kellermann
150b16ec2c
lib/upnp/Discovery: make Upnp_Discovery pointers const
2017-11-16 11:37:04 +01:00
Max Kellermann
7d579e7400
lib/alsa/NonBlock: throw exception on error
...
Avoid another potential deadlock: if no file descriptors are
registered, our non-blocking ALSA code cannot ever work.
2017-11-14 21:08:07 +01:00
Max Kellermann
1040b85785
lib/{curl,upnp}: add more exception handlers
...
Bugs found by Coverity.
2017-11-14 20:05:44 +01:00
Max Kellermann
4b2b89eb5e
lib/xiph: add "noexcept"
2017-11-12 18:35:49 +01:00
Max Kellermann
4b2bb88375
lib/upnp: add "noexcept"
2017-11-12 18:33:58 +01:00
Max Kellermann
fb01e41e8a
lib/sqlite: add "noexcept"
2017-11-12 18:26:03 +01:00
Max Kellermann
ff9759c09d
lib/pulse: add "noexcept"
2017-11-12 18:25:16 +01:00
Max Kellermann
a92e0e8540
lib/nfs: add "noexcept"
2017-11-12 18:09:07 +01:00
Max Kellermann
9d47b220a4
lib/curl: add "noexcept"
2017-11-12 17:49:58 +01:00
Max Kellermann
cf483107c9
event/IdleMonitor: add "noexcept"
2017-11-12 17:40:25 +01:00
Max Kellermann
44c60567dd
output/alsa: add "allowed_formats" setting
...
Allows defining a list of supported audio formats, and allows
switching on and off DoP with certain formats.
This is a first rough draft. The setting syntax and its semantics may
still be redesigned.
2017-11-10 23:05:50 +01:00
Max Kellermann
1ccd2a7b11
lib/nfs: migrate from DeferredMonitor to DeferEvent
2017-11-10 21:06:40 +01:00
Max Kellermann
4c1d29c86c
lib/nfs/FileReader: use C++11 initializers
2017-11-10 21:03:41 +01:00
Max Kellermann
7e16ac305d
event/SocketMonitor: rename Get() to GetSocket()
2017-11-10 20:34:45 +01:00
Max Kellermann
59a8836924
event/SocketMonitor: add "noexcept"
2017-11-10 20:20:07 +01:00
Max Kellermann
49784513b1
util/{Const,Writable}Buffer, ...: rename IsEmpty() to empty(), imitating STL
2017-11-10 19:24:33 +01:00
Max Kellermann
e2a74051dc
lib/alsa/HwSetup: return effective parameters
2017-10-26 12:13:00 +02:00
Max Kellermann
b7e035b6f3
output/alsa: move AlsaSetupHw() to lib/alsa/HwSetup.cxx
2017-10-26 11:15:01 +02:00
Max Kellermann
890f1f5928
lib/alsa/Format: move HAVE_ALSA_DSD* definitions from the Alsa output plugin
2017-10-26 09:39:18 +02:00
Max Kellermann
b30c37eb79
output/alsa: move functions to lib/alsa/Format.hxx
2017-10-26 09:30:45 +02:00
Max Kellermann
b08cb148ae
output/alsa: move class PeriodBuffer to lib/alsa/PeriodBuffer.hxx
2017-10-26 09:27:36 +02:00
Max Kellermann
2a6d5583d1
lib/alsa: add "noexcept"
2017-10-26 08:24:14 +02:00
Max Kellermann
6fa403edd9
lib/upnp/Discovery: migrate from DeferredMonitor to DeferEvent
2017-09-21 22:53:57 +02:00
Max Kellermann
431eb7bc8c
lib/curl/{Global,Request}: migrate from DeferredMonitor to DeferEvent
2017-09-21 22:53:17 +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
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
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
9744f437d8
Util/CharUtil: add wchar_t overloads
...
Needed for WStringView.
2017-09-12 18:22:02 +02:00
Max Kellermann
91d4b5cfed
lib/nfs/Connection: migrate from TimeoutMonitor to TimerEvent
2017-08-29 16:36:16 +02:00