Commit Graph

407 Commits

Author SHA1 Message Date
Max Kellermann 1702e98fdf util/SliceBuffer: move code to DiscardMemory() 2018-09-23 19:15:28 +02:00
Max Kellermann 728e4e9a38 util/StringCompare: add StringEndsWithIgnoreCase(), StringStartsWithIgnoreCase() 2018-09-06 19:52:43 +02:00
Max Kellermann 2d6f9f9a9c Util/WStringAPI: non-Windows implementation of _wcs*cmp() 2018-09-06 19:49:45 +02:00
Max Kellermann c2e2e5543e util/WStringAPI: add wcscoll() wrapper 2018-09-06 19:39:28 +02:00
Max Kellermann 349d8eb248 util/WStringCompare: add "noexcept" 2018-09-06 19:35:09 +02:00
Max Kellermann 94b96bde9b util/WStringCompare: wcpcpy() and wcsdup() are available on Android 2018-09-06 19:33:50 +02:00
Max Kellermann 45ffc864c5 util/StringCompare: add more function attributes 2018-09-06 19:23:13 +02:00
Max Kellermann eee91aa4ea util/Exception: update copyright 2018-08-21 08:20:52 +02:00
Max Kellermann 855750c784 util/{Const,Writable}Buffer: add method SetEnd() 2018-08-21 08:20:17 +02:00
Max Kellermann 2156fc64f4 util/StringStrip: more API documentation 2018-08-20 16:30:46 +02:00
Max Kellermann 441440101d util/StringStrip: add more "nonnull" attributes 2018-08-20 16:28:43 +02:00
Max Kellermann ec54754e22 Compiler.h: move to util/ 2018-08-20 16:19:17 +02:00
Max Kellermann 489e11072e util/WritableBuffer: add ConstBuffer cast operator 2018-08-20 15:36:50 +02:00
Max Kellermann 5e2af15e94 util/Manual: add static method Cast() 2018-08-20 15:35:43 +02:00
Max Kellermann 3fbb54e0a4 util/IterableSplitString: use operator==(nullptr_t) 2018-08-20 15:35:09 +02:00
Max Kellermann fe6de14faf util/StringView: add ConstBuffer cast constructors 2018-08-20 15:34:07 +02:00
Max Kellermann e85b9960f0 util/StringCompare: use StringAPI.hxx 2018-08-20 15:33:16 +02:00
Max Kellermann 75c836fbd9 util/StringAPI: use StringCompare() in StringIsEqual() 2018-08-20 15:31:09 +02:00
Max Kellermann 94b1025780 util/RuntimeError: fix typo 2018-08-20 15:22:24 +02:00
Max Kellermann 36ca9d01fb util/ForeignFifoBuffer: shift the buffer in MoveFrom() on demand
The API documentation says "move as much data as possible", and if
there is room at the head of the buffer, we should use that if the
room after the tail is not large enough.
2018-08-20 15:21:05 +02:00
Max Kellermann 3bceed1b53 util/ForeignFifoBuffer: add "noexcept" 2018-08-20 14:53:39 +02:00
Max Kellermann 90de2c4bd6 util/Exception: move code to NestCurrentException() 2018-08-20 14:52:54 +02:00
Max Kellermann 9d63c8220b util/Cast: reverse operands in ContainerAttributeOffset()
The result shall be positive.
2018-08-20 14:23:02 +02:00
Max Kellermann edd9d16c84 util/Cast: move OffsetPointer() to OffsetPointer.hxx 2018-08-20 13:46:18 +02:00
Max Kellermann ec373eba5d util/BindMethod: add "noexcept" 2018-08-20 13:45:41 +02:00
Max Kellermann 0dfb27b7e5 util/StringAPI: stpcpy() was added in Bionic API level 21 2018-08-20 13:31:23 +02:00
Max Kellermann cf471e830f Merge branch 'v0.20.x' 2018-08-02 11:07:40 +02:00
Max Kellermann 906972973e case-insensitive URI scheme comparison
Required according to RFC 3986:

> An implementation should accept uppercase letters as equivalent to
> lowercase in scheme names

Closes #330
2018-08-02 11:01:45 +02:00
Max Kellermann 116edf5fce util/ASCII: add StringStartsWithCaseASCII() 2018-08-02 10:42:28 +02:00
Max Kellermann 7db7568dcf lib/gcrypt/MD5: move code to util/HexFormat.cxx 2018-07-26 17:46:56 +02:00
Max Kellermann 235ddc0990 util/TimeISO8601: new utility library 2018-07-25 08:43:06 +02:00
Max Kellermann 517f5b1999 util/TimeConvert: new utility library 2018-07-25 08:34:52 +02:00
Max Kellermann b778fb38a9 util/StringAPI: add raw strcmp() wrapper 2018-07-18 17:18:34 +02:00
Max Kellermann 6448b31b11 util/StringAPI: add strpbrk() wrapper 2018-07-18 16:51:29 +02:00
Max Kellermann edb44a536a util/PrintException: new utility class 2018-07-17 21:58:07 +02:00
Max Kellermann 60d5bf0240 util/StringFormat: new utility library 2018-07-06 19:07:02 +02:00
Max Kellermann e1ee8e7812 util/FormatString: remove obsolete Windows fallback
Since 7d353bbe2a, _GNU_SOURCE is always
defined, which implies __USE_MINGW_ANSI_STDIO and thus switches to
the mingw implementations of the printf() family.  That's
standards-compliant, unlike Microsoft's CRT implementations.
2018-07-06 19:04:33 +02:00
Max Kellermann ae8a2ab652 util/SparseBuffer: new utility class 2018-06-22 22:18:26 +02:00
Max Kellermann eeb00ac45b util/TemplateString: new utility library 2018-06-03 12:13:47 +02:00
Max Kellermann 65bbb0e0aa Merge tag 'v0.20.17'
release v0.20.17
2018-02-11 13:22:43 +01:00
Max Kellermann 0f8d223c7f protocol/ArgParser: move strtof()/strtod() switch to util/NumberParser.hxx 2018-02-09 22:54:22 +01:00
Max Kellermann 97f670658f util/StringFormat: new utility library 2018-01-24 13:28:28 +01:00
Max Kellermann be137a191e util/FormatString: remove obsolete Windows fallback
Since 7d353bbe2a, _GNU_SOURCE is always
defined, which implies __USE_MINGW_ANSI_STDIO and thus switches to
the mingw implementations of the printf() family.  That's
standards-compliant, unlike Microsoft's CRT implementations.
2018-01-24 13:22:43 +01:00
Max Kellermann fe1f3df36e util/StringBuffer: add "noexcept" 2018-01-24 12:52:05 +01:00
Max Kellermann 3ca80a7336 util/RefCount, db/simple/Mount: remove obsolete libc++ workarounds
No longer a problem with NDK r16.
2018-01-19 23:19:46 +01:00
Max Kellermann 3e2e0d062b util/OptionParser: support option values 2018-01-17 11:14:57 +01:00
Max Kellermann c45fe3517c util/OptionParser: add struct Result
Prepare for option values.
2018-01-17 11:08:05 +01:00
Max Kellermann 735a371249 util/OptionParser: pass array of OptionDefs to constructor 2018-01-17 10:24:06 +01:00
Max Kellermann 5ab086e337 util/OptionParser: loop in ParseNext() until a new option is found 2018-01-16 11:25:18 +01:00
Max Kellermann 68f660dbcc util/OptionParser: collect remaining arguments
Allow the caller to use a simple "for" loop without checking
arguments.
2018-01-16 11:08:23 +01:00