556d5a9798
string: Revise SAL for strnlen
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-07-03 13:56:24 +02:00
7731a20f56
interval: Add interval_vector
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-07-03 13:55:34 +02:00
067cbddf64
Reformat á la VS2022
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-06-07 12:06:43 +02:00
5d46888dc2
Revise SAL for "start&length" string parameters
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-06-06 19:28:39 +02:00
2c8fad779c
sgml: support appending SGML to supplied string
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-06-06 19:28:39 +02:00
1fb78a78f2
parser: Stabilize HTTP suite
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-16 12:35:52 +01:00
b028c8772e
parser: Cleanup
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-16 12:35:08 +01:00
a59163733a
parser: Add missing constructors to allow locale propagation
...
Classes using m_locale must allow locale configuration in their
constructor. Otherwise m_locale was always set to default by
basic_parser<> constructor.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-16 11:21:53 +01:00
38fac2837f
parser: Duplicate locale
...
The Release testing revealed that compiler might free temporary
std::locale instances sooner than we thought, exposing UaF.
On 64-bit arch, a reference takes 8 bytes, a std::locale copy takes 16
bytes. So duplicating a locale in each parser instance is not such a big
deal to risk an UaF.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-16 11:02:23 +01:00
127704d2d8
parser: Rename "tester" to "parser"
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-16 10:58:15 +01:00
33012e1513
parser: Use ranged for loops where appropriate
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-16 09:38:53 +01:00
aa233bd5f9
Convert space to tab indentation
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 21:51:39 +01:00
308f63490c
Rename .h to .hpp
...
These files are C++ only. They should either have no extension like
standard C++ headers (which is cumbersome on Windows environments), or
.hpp.
.h is used for C and hybrid C/C++ headers.
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 21:49:41 +01:00
261ad98812
Add string parsers
...
Ported from Amebis AOsn library to standard C++
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 21:38:57 +01:00
d13421e4b6
Add noop deleter
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 09:09:23 +01:00
601cfec62d
interval: Add empty() method
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 09:03:01 +01:00
b43b853235
Add SGML↔Unicode conversion
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 09:02:25 +01:00
9ce8e6bff9
Add support for character testing, strncmp, strnstr and number parsing
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-15 09:02:21 +01:00
f0d37935ec
Add missing #include <assert.h>
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-09 13:54:15 +01:00
fe3580792f
Update Copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-08 13:34:04 +01:00
a59971fdbd
Add strnchr() and crlf2nl()
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-08 12:01:57 +01:00
dda761a692
Add progress indicator templates
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-06 16:08:16 +01:00
fbc2afb450
Add interval template
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-06 16:07:50 +01:00
be8cffc109
Add user_cancelled exception type
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-06 16:07:31 +01:00
515d92b035
Add errno_error exception type
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2023-03-06 16:07:08 +01:00
ff8ca7f073
Use uint8_t where appropriate
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-09-15 12:22:37 +02:00
857b0b36c0
Adjust to compile with gcc
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-09-13 15:36:47 +02:00
09d0f347e8
Add .h extension to #include files
...
Using extension-less #include files brought more issues than it was
worth.
Reverts: dfa34420d9ff29932f1e7d06bb98f1f757373bd5
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-07 11:37:35 +01:00
13666a0d2f
Move vector_queue from WinStd to stdex
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-04 13:49:12 +01:00
c7c3ee71d1
Switch to MIT license
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:38:03 +01:00
f76ece6ca5
Move Hex from WinStd to stdex
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:14:33 +01:00
76a90a203c
Discontinue manual inline hinting
...
Compiler knows better than we do.
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 14:20:51 +01:00
4521ea8f00
Move our Base64 implementation from WinStd
...
Base64 is general algorithm not provided with Win32 API.
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 13:43:15 +01:00
b2e4c7dc4a
Discontinue manual inline hinting
...
Compiler knows better than we do.
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 13:34:41 +01:00
90de5d7140
Switch to standard C++ header filename convention
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 13:33:25 +01:00
6b9972b0a6
Update Copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-01-07 11:37:01 +01:00
e3ad3fe729
Switch to SPDX license notice
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-30 11:05:28 +01:00
3d90357905
Cleanup common.h
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-30 11:57:13 +02:00
919b44573a
Copyright: Bump year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 08:35:33 +01:00
7a7030b9e3
Add UTF-8 BOM markers
...
MSVC needs them to use correct charset when Language for non-Unicode
programs is set to Windows-1252 or anything different than UTF-8.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 10:53:27 +01:00
325f9d6b08
Address code analysis warnings
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-12 20:33:41 +01:00
e6a06ee2d1
Extend copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 15:12:27 +01:00
eeff73ce37
Discontinue versioning
...
As stdex has been made static library it really makes no sense to
continue labeling versions.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 15:12:14 +01:00
7d1ba8c1d1
Extend copyright year
2018-09-07 23:47:57 +02:00
913158633a
Make stdex static library
2018-09-07 22:54:58 +02:00
abf068584a
Update build year
2017-12-22 10:16:14 +01:00
245715b10a
Set version to 1.0.1
2017-12-19 11:49:31 +01:00
f843736067
Copyright extended to 2017
2017-04-18 13:50:57 +02:00
d38be14633
stdex::heap_allocator moved to winstd::heap_allocator
2016-10-06 15:55:36 +02:00
7d6e3dc7f5
CloseHandle_delete removed to be replaced by winstd::win_handle
2016-10-06 15:55:15 +02:00