Commit Graph

1343 Commits

Author SHA1 Message Date
ToruNiina
64cd90637b refactor: move cmake component to where it's used 2024-03-20 22:35:03 +09:00
ToruNiina
d4a6fc7953 refactor: remove scripts for old version of cmake
now minimum_require ensures that version is not used
2024-03-20 22:34:02 +09:00
ToruNiina
d4eb5f3c9d chore: update patch version 2024-01-07 18:06:50 +09:00
ToruNiina
cc2e453b5b feat: remove strerror from errmsg in FILE* version
parse(FILE*) is a minor overload, but dispatching strerror takes too
much cost. Standard library version is not thread-safe, so some compiler
reports a warning. There are thread-safe versions defined in XSI, GNU,
and Windows. XSI/GNU versions can be detected by macros, but in some
cases, detection-by-macro written in the doc does not work.
Since errno can be obtained from the exception, users can call strerror
that is available in their env if needed. We can just report errno.
2024-01-07 10:48:17 +09:00
ToruNiina
8ed1a1d7e4 feat: update version 2024-01-06 02:20:21 +09:00
ToruNiina
04209b1540 doc: update contributors list 2024-01-06 01:58:51 +09:00
Toru Niina
1bb5284eb5
Merge pull request #233 from Esonhugh/master
fix issue #231
2024-01-05 01:39:23 +09:00
Toru Niina
7bd09245fa
ci: disable macos-13-arm64 2024-01-05 00:00:25 +09:00
Toru Niina
1dd15ffa26
Merge pull request #234 from ToruNiina/limit-value-recursion
Limit value recursion
2024-01-04 22:32:01 +09:00
ToruNiina
1c2c710ec9 refactor: add comment 2024-01-04 21:18:47 +09:00
ToruNiina
db72451bcf test: update test to add rec start val 2024-01-04 20:47:46 +09:00
ToruNiina
8e214ec411 fix: limit value recursion in array/inl-table
to avoid parse_value/parse_array recursion
2024-01-04 20:45:35 +09:00
Esonhugh
655d76b828 update: test on github action with macos 13 and macos 13 arm64 image 2023-12-27 11:27:21 +08:00
Esonhugh
0db935b602 fix: let __DARWIN_C as an exception 2023-12-27 11:19:59 +08:00
Esonhugh
ed577df40a fix: strerror_r error handling toml/exception.hpp in macos 2023-12-27 11:11:23 +08:00
ToruNiina
01a0e93e5f ci: disable bad combination of compiler and stdlib 2023-12-23 23:32:39 +09:00
Toru Niina
510419fb6a
Merge pull request #232 from DavidKorczynski/clusterfuzzlite
Add fuzzing by way of ClusterFuzzLite
2023-12-23 22:28:46 +09:00
David Korczynski
7d09cdf067 cflite: change branch name
Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-23 03:00:51 -08:00
David Korczynski
828afc3b1e Add fuzzing by way of ClusterFuzzLite
Signed-off-by: David Korczynski <david@adalogics.com>
2023-12-23 01:12:21 -08:00
ToruNiina
c32a20e1ee fix: #226 use strerror_s/strerror_r if possible 2023-10-11 23:44:23 +09:00
ToruNiina
937a7c45fe feat: fill char buffer with null char
those funcs always return null-terminated string but just to make it
sure
2023-10-11 01:44:30 +09:00
ToruNiina
947c995189 fix: include array to use char buffer 2023-10-11 01:43:55 +09:00
ToruNiina
9b7b8908e8 fix: avoid evaluating undefined macro as zero
to suppress a warning
2023-10-11 01:24:41 +09:00
ToruNiina
22d22198ec feat: use thread-safe variant of strerror 2023-10-11 01:08:12 +09:00
ToruNiina
1beb391a43 ci: use default version of libboost on ubuntu 20 2023-10-11 00:14:53 +09:00
ToruNiina
dfc625f38d fix: #229 do not move temporary object 2023-10-10 23:49:51 +09:00
Toru Niina
22d96ed921
Merge pull request #230 from arp242/t
Escape control characters in keys
2023-10-10 23:21:43 +09:00
Martin Tournoij
d2937ff4e1
Escape control characters in keys
Previously a key like:

        "a\u0000\u0001b" = 1

Would get written with literal control characters, rather than escapes:

        "a<00><01>b" = 1

The "valid/key/quoted-unicode" test from toml-test would fail with this,
although it seems they're not run automatically(?)

Can also reproduce with something like:

        % cat test.cpp
        #include <toml.hpp>
        #include <iostream>

        int main()
        {
                const auto data  = toml::parse("test.toml");
                std::cout << data << "\n";
                return 0;
        }

        % cat test.toml
        "a\u0000\u0001b" = "a\u0000\u0001b"

        % c++ -I. test.cpp

        % ./a.out
        "ab" = "a\u0000\u0001b"

        % ./a.out | hexdump -C
        00000000  22 61 00 01 62 22 20 3d  20 22 61 5c 75 30 30 30  |"a..b" = "a\u000|
        00000010  30 5c 75 30 30 30 31 62  22 0a 0a                 |0\u0001b"..|
2023-10-10 09:03:33 +01:00
Toru Niina
087408a8fb
Merge pull request #225 from kfirgollan/kfir/add_install_instructions
Add installation example with checkinstall and cmake
2023-07-31 01:22:32 +09:00
Kfir Gollan
2339b32258 Add installation example with checkinstall and cmake 2023-07-28 19:02:01 +00:00
Toru Niina
5cc79bbd7b
Merge pull request #224 from offa/remove_travisci
Remove Travis CI config
2023-07-27 20:55:45 +09:00
Toru Niina
9323a315eb
Merge pull request #223 from offa/cmake_update
Require CMake 3.5+
2023-07-27 20:55:05 +09:00
offa
85d880d84e Remove Travis CI config 2023-07-25 20:14:37 +02:00
offa
c44459dc47 Require CMake 3.5+ 2023-07-25 20:09:52 +02:00
ToruNiina
1340692442 fix #218: consider locale while serialization 2023-05-29 23:18:38 +09:00
ToruNiina
da3d5153d1 ci: install language pack to test locale 2023-05-28 23:37:53 +09:00
ToruNiina
af13c2867a test: add test case for serializer with locale 2023-05-28 18:47:06 +09:00
ToruNiina
327f6e7701 fix: set locale to C when writing numbers 2023-05-28 18:42:33 +09:00
ToruNiina
e36eabf216 feat: add get<T> overload with toml::value& 2023-05-27 00:16:17 +09:00
ToruNiina
40eb1d2213 chore: update ci runners to the latest 2023-04-29 02:16:40 +09:00
ToruNiina
2da3b67d02 doc #217: add description about C++17 feature 2023-04-24 22:36:08 +09:00
ToruNiina
0dcf07b774 doc: update contributor list 2023-04-24 22:34:49 +09:00
Toru Niina
d47fe788bc
Merge pull request #214 from VestniK/raw_ptr_iter
Fix for case when vector iterator is raw pointer
2023-03-17 22:11:38 +09:00
Sergey Vidyuk
78ae165096 Fix for case when vector iterator is raw pointer
We are using patched libc++ which uses raw pointers for vector itrators
to improve code compilation speed. This commit fixed two compilation
issues in toml11:
 * location::const_iterator deinition assumes that vector const_iterator
   is struct or class type rather than raw pointer.
 * `const const_itetr foo()` triggers `-Wignored-qualifiers` for primitive
   types and `void` which breaks `-Wextra -Werror` compilation.
2023-03-16 23:02:19 +07:00
ToruNiina
86eefc7255 feat: update toml-test from v1.2.0 to v1.3.0 2023-02-13 00:44:15 +09:00
ToruNiina
51e5d845b0 fix: #213 allow long binary integer 2023-02-12 23:20:09 +09:00
ToruNiina
ce941c318b fix: prevent windows minmax macro 2023-02-12 20:27:14 +09:00
ToruNiina
fd969a679b test: check if a large bin ints are parsed 2023-02-12 19:03:59 +09:00
ToruNiina
51587338cd fix: avoid overflow at postproc of the last loop 2023-02-12 18:50:46 +09:00
ToruNiina
418bfe9117 fix: cast explicitly to avoid un/signed comparison 2023-02-12 16:44:18 +09:00