Max Kellermann
09d8e44d56
lib/icu/Converter: pass std::string_view
2020-04-03 16:13:14 +02:00
Max Kellermann
9dc530ab51
lib/icu/Util: pass std::string_view
2020-04-03 16:13:14 +02:00
Max Kellermann
2d0798cd4d
lib/icu/Win32: pass std::string_view
2020-04-03 16:13:14 +02:00
Max Kellermann
915c48f748
util/AllocatedString: std::string_view support
2020-04-03 16:08:55 +02:00
Rosen Penev
2b3d6461e3
remove unused ctype.h header
...
None of the functions in these files come from ctype.h
Also changed one instance of isdigit to the C++ variant.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 15:43:50 -07:00
Rosen Penev
ab9f5d2067
replace assert.h with cassert
...
The former was deprecated with C++14.
According to the C++11 and C++17 standards, both files are identical.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 15:25:38 -07:00
Rosen Penev
a3963de668
[clang-tidy] change integer prefixes to uppercase
...
Found with readability-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:20:50 -08:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
ed327c597a
lib/icu/Converter: Create() returns std::unique_ptr
2019-11-04 15:44:06 +01:00
Max Kellermann
e1867a99e9
release v0.21.16
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl2m6cwQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEuMlD/9W6UTA9WfbeB2k8F2gFvy30w3jarsIdANG
iRl2qW8a/MSp6zNj5t3rIH/JTOPEVXgB7c844gIC2VHkKAu4M3kV2sqa7cDEcq6o
tFH5npemuCFbpkkAqXHpgFindWGMOqZy01PCN8m70y9IbfmI0Q25jngKeeuzgZ9O
4DHw9IniWNamAi9H3MdGt6BpyuQ+EJ+FOfuJdsJkLgfK15qMn/3LwNoUyCxjyK/K
brdQO0qpBg7dLZoGb6ER7qkyV1Cp+z/Mqeeocn4iQf3RuepIKzhZFMB1MY9FS7O1
YAA89Lpk9mvLqx1/LkArrPEOv7k5Ia5KSmxZJ5dsrdXm/TKVM1k0MxZuE7LoXLXp
wbdhXFoyhuL6lwLkw20wj1zqcTGMAYIp6t48YbDlVy59f/9OVROr++pCQsY+3L2t
JPY90z6hf6yDF5yZCucSt7gin/WXRdeQLTgAxd8EqGqFgIRrW0GZhssg+7O1iGCq
aSAVlxfzhVFxz7eyo4u3Dq/+d6gh3NRzV6exUYMxp3WHu7eweemlnKyxPxQ1lvSF
5EkZXC56wQp0JIcIRYLEXkJN8lmIy/i0xHaOLDB7cJN23CC5Z68Up6peCzvVPp+E
PIzOtT+4/FnQ6euu6KLHeiDyTWxdmGSrSP1W6cc/FpyLU86ZV/5tLg0bEaNxb9Sl
lYfRth0D/A==
=9Cv+
-----END PGP SIGNATURE-----
Merge tag 'v0.21.16'
release v0.21.16
2019-10-16 12:03:12 +02:00
Andre Heider
96a9670c69
lib/icu: fix build with iconv()
2019-10-07 13:34:04 +02:00
Max Kellermann
f909615b14
include cleanups (powered by iwyu)
2019-08-15 17:57:20 +02:00
Max Kellermann
cde6c46d2f
util/Macros: replace with std::size() (C++17)
2019-08-03 13:10:49 +02:00
Max Kellermann
9cdebc90a0
lib/icu/Compare: use StringIsEqualIgnoreCase()
2019-07-05 09:59:58 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406
, 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-11-19 16:33:49 +01:00
Max Kellermann
f5c9071494
*: copyright year 2018
2018-10-31 17:54:59 +01:00
Max Kellermann
94592c1406
build with Meson instead of autotools
...
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-10-14 23:41:38 +02:00
Max Kellermann
ec54754e22
Compiler.h: move to util/
2018-08-20 16:19:17 +02:00
Max Kellermann
4b16a8bf84
lib/icu: require at least version 50
2018-08-02 21:01:39 +02:00
Max Kellermann
22192adbc8
lib/icu/Init: add class ScopeIcuInit
2018-08-02 10:17:31 +02:00
Max Kellermann
b8f3de693f
lib/icu/Init: add "noexcept"
2018-08-02 10:17:04 +02: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
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +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
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
788e3b31e1
*: remove "pure" and "const" attributes from throwing functions
...
The "pure" and "const" attributes are not so well-defined, and a
recent clang version implements an optimization which pushes the
definition's boundary beyond what I believed it was. clang now
assumes that functions declared "pure" cannot throw exceptions, even
if they lack the "noexcept" specification.
When compiled with this new clang version, MPD will crash randomly if
an exception happens to get thrown by such as "pure" function
(https://github.com/MusicPlayerDaemon/MPD/issues/41 ).
This commit removes all such misplaced "pure" and "const" attributes,
closing #41 .
2017-05-08 17:25:06 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
2e182e84c3
thread/Mutex: remove ScopeLock, use std::lock_guard directly
2017-01-03 07:11:57 +01:00
Max Kellermann
22dcca9832
util/Error: remove obsolete class
2016-11-10 12:58:26 +01:00
Max Kellermann
6d409d27ca
lib/icu: migrate from class Error to C++ exceptions
2016-11-02 09:54:13 +01:00
Max Kellermann
bec6fa4ad7
lib/icu/Converter: throw exception on error
2016-04-21 14:03:27 +02:00
Max Kellermann
21f17270a1
lib/icu/Util: UCharFromUTF8() throws on error
2016-04-21 11:20:41 +02:00
Max Kellermann
423cd5900e
lib/icu/Util: fold UCharToUTF8Throw() into UCharToUTF8()
2016-04-21 10:58:21 +02:00
Max Kellermann
b9f535cd49
lib/icu/Win32: throw exception on error
2016-04-21 10:15:40 +02:00
Max Kellermann
225984822d
lib/icu/Win32: use std::unique_ptr
2016-04-13 11:53:35 +02:00
Max Kellermann
01b68db30e
lib/icu/Converter: Create() throws exception on error
2016-04-13 10:04:19 +02:00
Max Kellermann
4eaa82fd22
lib/icu/Util: add overload which throws exception
2016-04-12 22:08:48 +02:00
Max Kellermann
a497cc46f9
lib/icu/Util: use std::unique_ptr
2016-04-12 22:07:23 +02:00
Max Kellermann
178f737971
lib/icu/Collate: use std::unique_ptr
2016-04-12 21:55:14 +02:00
Max Kellermann
74963bce9d
lib/icu/Collate: use class AllocatedArray
2016-04-12 21:55:14 +02:00
Max Kellermann
33a4dbe1e5
lib/icu/Util: use class AllocatedArray
2016-04-12 21:42:14 +02:00
Max Kellermann
dce36d3e55
lib/icu/Util: remove obsolete documentation
2016-04-12 21:32:56 +02:00