Max Kellermann
|
b83392cb04
|
util/UriUtil: move code to SkipUriScheme()
|
2015-11-06 09:49:22 +01:00 |
|
Max Kellermann
|
7640d333f4
|
util/UriUtil: make variables more local
|
2015-11-06 09:49:22 +01:00 |
|
Max Kellermann
|
c880099deb
|
util/StringCompare: add StringIsEmpty()
|
2015-11-06 09:37:07 +01:00 |
|
Max Kellermann
|
42f5ecd4a1
|
util/StringCompare: use strncmp() instead of memcmp() in StringStartsWith()
Some optimized implementations of memcmp() may not start from the
beginning of the string, and may thus segfault.
|
2015-11-06 09:24:18 +01:00 |
|
Max Kellermann
|
733989a284
|
util/StringUtil: move comparison functions to StringCompare.cxx
|
2015-11-06 09:20:18 +01:00 |
|
Max Kellermann
|
8d23706354
|
util/DeleteDisposer: new utility class
|
2015-10-19 15:57:30 +02:00 |
|
Max Kellermann
|
607c2c5ba2
|
util/StringUtil: add StringAfterPrefix()
|
2015-10-16 19:18:04 +02:00 |
|
Max Kellermann
|
85f58eb082
|
util/WStringUtil: fix indent
|
2015-10-16 19:17:54 +02:00 |
|
Max Kellermann
|
438b7b7bd0
|
util/ConstBuffer: add method MoveFront()
|
2015-10-16 09:00:36 +02:00 |
|
Max Kellermann
|
27a40a9843
|
util/StringView: add methods StripLeft(), StripRight()
|
2015-10-16 08:59:47 +02:00 |
|
Max Kellermann
|
356c829b76
|
util/StringView: new utility class
|
2015-09-30 22:21:46 +02:00 |
|
Max Kellermann
|
e31cdf0df9
|
util/AllocatedString: fix off-by-one bug in Duplicate()
|
2015-09-01 23:33:19 +02:00 |
|
Max Kellermann
|
6f41791ea6
|
util/StringAPI: add UnsafeCopyStringP()
|
2015-09-01 21:16:22 +02:00 |
|
Max Kellermann
|
0bacbcd04e
|
util/StringAPI: fix include guard name
|
2015-09-01 21:12:16 +02:00 |
|
Max Kellermann
|
ffe689363f
|
util/AllocatedString: add constant "SENTINEL"
|
2015-09-01 21:11:22 +02:00 |
|
Max Kellermann
|
037d1d9ad1
|
util/AllocatedString: add methods Duplicate(), Clone()
|
2015-06-25 23:44:16 +02:00 |
|
Max Kellermann
|
619ef2b341
|
util/AllocatedString: add method empty()
|
2015-06-25 23:44:16 +02:00 |
|
Max Kellermann
|
61a3028788
|
util/AllocatedString: remove bogus code from operator=
|
2015-06-23 13:20:11 +02:00 |
|
Max Kellermann
|
11d048b8e3
|
util/AllocatedString: new utility class
|
2015-06-23 12:48:21 +02:00 |
|
Max Kellermann
|
e4844b9936
|
util/StringPointer: new utility class
|
2015-06-23 12:34:44 +02:00 |
|
Max Kellermann
|
b31d171ae8
|
*: doxygen fixups
|
2015-03-17 11:21:43 +01:00 |
|
Max Kellermann
|
5798faa13b
|
util/StringUtil: add wchar_t overloads
|
2015-03-05 10:06:56 +01:00 |
|
Max Kellermann
|
a062693875
|
util/StringAPI: add wchar_t overloads
|
2015-03-05 08:58:04 +01:00 |
|
Max Kellermann
|
44565e22a0
|
fs/Traits: use string.h API wrappers
|
2015-03-05 08:58:04 +01:00 |
|
Max Kellermann
|
250332a8d5
|
util/StringUtil: reorder functions
|
2015-03-04 20:22:05 +01:00 |
|
Max Kellermann
|
39825c6622
|
util/ASCII: strip include guard
|
2015-03-04 20:05:39 +01:00 |
|
Max Kellermann
|
820debf45a
|
util/StringUtil: add FindStringSuffix()
|
2015-03-03 11:29:31 +01:00 |
|
Max Kellermann
|
c19292c036
|
Util/StringUtil: use std::copy_n()
|
2015-03-02 22:35:59 +01:00 |
|
Max Kellermann
|
64b9e7fd48
|
util/DynamicFifoBuffer: adjust include guard
|
2015-02-16 00:53:59 +01:00 |
|
Max Kellermann
|
ae7e1a22cb
|
Merge branch 'v0.19.x'
|
2015-01-26 20:57:29 +01:00 |
|
PHO
|
023b9c1e7e
|
Test the existence of strndup(3) before using it.
This can eliminate the ad-hoc "#ifdef WIN32" and can also support other platforms lacking it as well (including Darwin 9).
|
2015-01-26 20:39:49 +01:00 |
|
Max Kellermann
|
6725c2afa1
|
util/format: allow upper case, digits and underscore in names
|
2015-01-22 18:59:42 +01:00 |
|
Max Kellermann
|
e9d4b73cc3
|
util/format: move code to is_name_char()
|
2015-01-22 18:59:01 +01:00 |
|
Max Kellermann
|
91a12f76cd
|
util/CharUtil: minor API documentation fix
|
2015-01-15 19:34:02 +01:00 |
|
Max Kellermann
|
e8debd2e45
|
output/recorder: dynamic file name
|
2015-01-14 22:03:26 +01:00 |
|
Max Kellermann
|
712ed555e6
|
Copyright year 2015
|
2015-01-01 19:48:13 +01:00 |
|
Max Kellermann
|
412bedb697
|
Merge branch 'v0.19.x'
|
2014-12-26 14:40:32 +01:00 |
|
Max Kellermann
|
940cab8620
|
Merge branch 'v0.18.x' into v0.19.x
|
2014-12-26 14:28:52 +01:00 |
|
Max Kellermann
|
53f4044890
|
util/{ASCII,UriUtil}, ...: work around -Wtautological-pointer-compare
New in clang 3.6.
|
2014-12-26 13:43:32 +01:00 |
|
Max Kellermann
|
705b3c6b63
|
util/ASCII: fix indent
|
2014-12-26 13:37:38 +01:00 |
|
Max Kellermann
|
0964b06240
|
Compiler.h: add macro GCC_OLDER_THAN()
|
2014-12-26 13:30:44 +01:00 |
|
Max Kellermann
|
8400da9934
|
release v0.19.7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABAgAGBQJUkcmtAAoJECNuiljG20USLuwP/3MjssxpUkq6aN1beyNACWJ8
Zgr/ibDjxYJY+UAHUOycnJQ8WNpgfXNSR4F5jQHznJdpemJCZCeBd2s5yelEdu0C
SBjJ9FiKPeu8or5N34CPmRQDmDGHv0II4/ySmzlBhH4XRV5JF5li/j4KtAlOCqCT
GNnlmgn05o+oX4Olpg/id6H7wvny+YDY3p33sJmi+djBnSbJyJNvk9NhAr9n4I7Q
FfGHbTzRLSZKHa47zzXag30PBj2X8x7NOAcAX7/evQpw9Gud/8CwXKk21kp6L/fv
RJnj4lLtkj8MRc+8vskZ9EXgYr3yC/cldP8Fw8qsY/t7d8UFUN8qFqpq9O8IPnga
D4hNpq7VF9ZxMhQtxBiT3cRvjTXBp8J/B7p2YDuYHBhIZh8IPzjDCyF4CzlN/470
3zTqq/aar93AeI/6MQlpQPBK1DGvrrHBVP3Mj7cCTbx61P7/1xEIxYntRIfJw449
JRJDJKjdyOY4+Sqm3Agu3WiQlyOzZXmqM3E3FFeul4mUvcOKhfbZxjayYsGlfigA
MHge1wif2aOe6IU334DUD5V0m61MMoefznEvWUdAZHtdvQox0ovDmwwFRizX2fGc
rlUhoUOXWjjGbTI2VjXsBklzh8P+MxQ8OiJGw+V4DBI0XL+A2tpqISs9mpCVPwQ0
T37uc6kdDB99noMuD2cw
=+4Cz
-----END PGP SIGNATURE-----
Merge tag 'v0.19.7'
|
2014-12-17 19:27:59 +01:00 |
|
Max Kellermann
|
81f17d10c8
|
util/HugeAllocator: enable MEM_COMMIT on Windows
Without MEM_COMMIT, the reserved address space is not accessible, and
MPD crashes.
|
2014-12-17 19:10:58 +01:00 |
|
Max Kellermann
|
2fec463542
|
util/HugeAllocator: disable MEM_LARGE_PAGES on Windows
MEM_LARGE_PAGES does not appear to work. Instead, MEM_RESERVE appears
to be necessary. Until I figure this out, this large pages are
disabled.
|
2014-12-12 13:20:58 +01:00 |
|
Max Kellermann
|
4741d7bfe2
|
Merge branch 'v0.19.x'
|
2014-12-12 13:14:29 +01:00 |
|
Max Kellermann
|
dbbcbc3616
|
Util/Manual: cast via void* to avoid alignment warnings
|
2014-12-09 23:10:05 +01:00 |
|
Max Kellermann
|
1889150013
|
Util/Manual: use Get() in Destruct()
|
2014-12-09 23:08:53 +01:00 |
|
Max Kellermann
|
14f9cdde6b
|
Util/Manual: add assertion to Get()
|
2014-12-09 23:08:22 +01:00 |
|
Max Kellermann
|
3ab0691eec
|
Util/Manual: add method Get()
May be more clear than operators.
|
2014-12-09 23:07:43 +01:00 |
|
Max Kellermann
|
1e073a196f
|
util/Manual: use gcc_alignas()
|
2014-12-09 23:05:47 +01:00 |
|
Max Kellermann
|
ad4e597f74
|
util/Error: use FormatMessage() instead of g_win32_error_message()
|
2014-12-05 00:10:44 +01:00 |
|
Max Kellermann
|
4b70f9d213
|
util/DivideString: add option "strip"
|
2014-12-04 23:05:44 +01:00 |
|
Max Kellermann
|
4e2f4e2091
|
util/StringUtil: add ToUpperASCII()
Replaces g_ascii_strup() and allows building the Vorbis encoder
without GLib.
|
2014-12-04 17:43:01 +01:00 |
|
Max Kellermann
|
e69bef3ce3
|
util/SplitString: new utility class
Replaces GLib's g_strsplit().
|
2014-12-04 09:14:28 +01:00 |
|
Max Kellermann
|
050f0c3d8f
|
util/SplitString: rename to DivideString
|
2014-12-03 21:38:06 +01:00 |
|
Max Kellermann
|
849b0563ce
|
util/Alloc: add fallback for gcc 4.6
|
2014-11-28 19:44:32 +01:00 |
|
Max Kellermann
|
d93172bee8
|
Compiler.h: add macro CLANG_OR_GCC_VERSION()
|
2014-11-28 19:09:56 +01:00 |
|
Max Kellermann
|
25429af122
|
Compiler.h: add macro GCC_OLDER_THAN()
|
2014-11-28 19:09:52 +01:00 |
|
Max Kellermann
|
b19d3629b9
|
util/Manual: use GCC_CHECK_VERSION
|
2014-11-28 19:00:26 +01:00 |
|
Max Kellermann
|
84c519df09
|
util/Alloc: remove bogus "unused" attribute
|
2014-11-27 18:21:50 +01:00 |
|
Max Kellermann
|
303d67aed2
|
release v0.19.2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABAgAGBQJUVifPAAoJECNuiljG20USJbYP/2SjixBWtHjHn1wF9K3tRzs3
7GGSBxxBpJVZCTg/PGRJ9m2BNJvocBPhw3WN7PU29xi5kBxDy5yvBcc58OzYHz28
HVZymj8zhdiDqULHPn6b9px6f4Oe8+1xh9q6gwR8rZsRAXKYDrC0GPDMGBeSkWo1
ycnSVTcZ4CjfkM2/jfnCc79q4mC+k2BR5T9OYRnznThVMx+gimMwLFYBjNNdh1MT
ugAxXVtpDs2aTR8fqu/ADGLJosfTjzGdqQ3eowOqVXmsmVIttBGruZdKyrN9KAtU
FfPf60zZ3I8qKppArfEoJAejNyGbhIg1AqX7J7IxHMI+zjlo2kGnEcVFJaG5zZb/
GQThrzGXRPFLlvVDtzfALmBNo3gN0y4I73exlpRCupaxZdFaD5UUPlaLak8r9bt5
30YBBxs7ydIPqs25AwZ9f94NT2QrKityLv+O+Q8lz8AfurqJnuOwEo/HuT4Bxv47
pSx86TtokknyN0A3lw5ttIMbTqN5eNHjJY4PulGJPEPfKjn9p4NLtLrZjT4fnnKG
GKXYcMzeOhMKszbHzOR7dcjI0uKXyx4r7LE4SdL+3msCYbyXDTbCirdusZ1pZDC3
ttkSf+a/dILHZagEAN37t53/NlsAjxjJzenKD4H6Eprxm6er24kSWu+W410b3Bw0
jYLYGXCWVZyJ5dqpTcYb
=NiFd
-----END PGP SIGNATURE-----
Merge tag 'v0.19.2'
|
2014-11-02 14:06:05 +01:00 |
|
Max Kellermann
|
674091424e
|
util/UriUtil: add uri_get_suffix() overload that ignores query string
|
2014-11-02 11:53:31 +01:00 |
|
Max Kellermann
|
eab32f2e5d
|
util/UriUtil: add uri_get_suffix() overload that ignores query string
|
2014-11-01 12:45:47 +01:00 |
|
Max Kellermann
|
1178f2c1ab
|
Util/Alloc: add xstrcatdup(), replacing g_strconcat()
|
2014-10-25 01:24:10 +02:00 |
|
Max Kellermann
|
063d369672
|
util/StaticFifoBuffer: make Shift() public
|
2014-10-19 00:49:08 +02:00 |
|
Max Kellermann
|
8ed4124184
|
util/DynamicFifoBuffer: make the "Range" type public
Export it from the protected base class. This fixes a build failure
on Mac OS X.
|
2014-10-11 20:28:08 +02:00 |
|
Max Kellermann
|
464767c5fd
|
db/upnp/Util: move caturl() to util/UriUtil.cxx
|
2014-10-10 22:43:40 +02:00 |
|
Max Kellermann
|
b70bf938c2
|
util/UTF8: add SequenceLengthUTF8()
|
2014-10-10 22:11:38 +02:00 |
|
Max Kellermann
|
d5cf41e043
|
util/UTF8: new library
|
2014-10-10 22:11:38 +02:00 |
|
Max Kellermann
|
a9f6556454
|
Merge branch 'v0.18.x'
|
2014-08-16 08:25:10 +02:00 |
|
François Revol
|
40280fa6cf
|
util: Fix header for strcasecmp
According to POSIX and both OSX and Linux manpages,
strcasecmp comes from strings.h, not string.h.
Most OSes also have them available in string.h,
but we just fixed the headers on Haiku and it now
only provides them in strings.h.
We might want to fall back to string.h for other
OSes though...
cf.
http://pubs.opengroup.org/onlinepubs/009695399/functions/strcasecmp.html
http://linux.die.net/man/3/strcasecmp
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/strcasecmp.3.html
|
2014-08-16 06:51:13 +02:00 |
|
Max Kellermann
|
c597538b40
|
util/HugeAllocator: implement on Windows
|
2014-08-11 23:06:45 +02:00 |
|
Max Kellermann
|
2ccfb71d12
|
util/CharUtil: add ToLowerASCII()
|
2014-08-11 18:42:05 +02:00 |
|
Max Kellermann
|
5ac2a69940
|
input/TextInputStream: move ReadBufferedLine() to util/TextFile.hxx
|
2014-08-07 19:38:25 +02:00 |
|
Max Kellermann
|
e88dd9b08b
|
util/DynamicFifoBuffer: make GetCapacity() and Clear() public
|
2014-08-07 19:21:09 +02:00 |
|
Max Kellermann
|
67958f7fa7
|
util/{Static,Foreign}FifoBuffer: lazy shift
Reduce the number of unnecessary memmove() calls.
|
2014-08-07 16:11:00 +02:00 |
|
Max Kellermann
|
ab9c527274
|
util/StaticFifoBuffer: fix indent
|
2014-08-07 16:08:55 +02:00 |
|
Max Kellermann
|
59d38f876a
|
util/StringUtil: add StripRight() overload with "end" argument
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
74aafe6a10
|
util/StringUtil: use IsWhitespaceOrNull() in StripRight()
The null byte is whitespace, too.
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
f860a2fbd6
|
util/StringUtil: move code to StripRight()
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
87bcf739ee
|
util/StringUtil: rename strchug_fast() to StripLeft()
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
db6db51742
|
util/CharUtil: add IsWhitespaceFast()
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
981be7956b
|
util/CharUtil: make IsWhitespace*() "constexpr"
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
8c10aa575c
|
util/CharUtil: fix indent
|
2014-08-07 16:08:02 +02:00 |
|
Max Kellermann
|
cf16d81fa4
|
util/ForeignFifoBuffer: add method Swap()
|
2014-08-07 09:02:24 +02:00 |
|
Max Kellermann
|
2beb763b4f
|
util/ForeignFifoBuffer: add method MoveFrom()
|
2014-08-07 08:53:02 +02:00 |
|
Max Kellermann
|
08fee9a284
|
util/ForeignFifoBuffer: add method GetAvailable()
|
2014-08-06 22:55:59 +02:00 |
|
Max Kellermann
|
f89da17827
|
util/DynamicFifoBuffer: move code to new base class ForeignFifoBuffer
|
2014-08-06 17:39:07 +02:00 |
|
Max Kellermann
|
ea26da0be7
|
util/FifoBuffer: rename to StaticFifoBuffer
|
2014-08-06 17:29:05 +02:00 |
|
Max Kellermann
|
c8858f85d8
|
util/Error: add method FormatLastError()
|
2014-07-30 22:10:31 +02:00 |
|
Max Kellermann
|
d1bc46ffad
|
util/Error: add SetLastError() overload with "DWORD code" parameter
|
2014-07-30 22:08:26 +02:00 |
|
Max Kellermann
|
32e5848f34
|
util/Error: add "printf" attributes
|
2014-07-30 22:02:46 +02:00 |
|
Max Kellermann
|
f9e63dfd65
|
util/DynamicFifoBuffer: fix typo in API documentation
|
2014-07-30 20:53:09 +02:00 |
|
Max Kellermann
|
d8558a3af3
|
util/Cast: add "const" overload
|
2014-07-14 17:08:57 +02:00 |
|
Max Kellermann
|
72eedb1c98
|
util/Cast: add missing include
|
2014-07-14 17:08:41 +02:00 |
|
Max Kellermann
|
3c5cf9500d
|
util/Cast: fix indent
|
2014-07-14 16:44:43 +02:00 |
|
Max Kellermann
|
7a1f3177c9
|
util/Cast: reimplement as template without macro
|
2014-07-14 16:24:07 +02:00 |
|
Max Kellermann
|
f8da8b0261
|
util/Cast: add const overloads
|
2014-07-14 16:02:02 +02:00 |
|
Max Kellermann
|
393cb7fd7d
|
util/Cast: suppress "unused function" warning by using "inline"
|
2014-07-14 15:58:12 +02:00 |
|
Max Kellermann
|
e74e1256d4
|
util/Cast: fix indent
|
2014-07-14 15:57:48 +02:00 |
|