Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2023-08-16
| ||
18:21 | Experimentally changed the Double printf/scanf modifiers from (%f,%f) to (%.17g,%lf) based on feedback. The tests still run, in any case. Leaf check-in: 39dd3cb050 user: stephan tags: trunk | |
2023-04-17
| ||
07:58 | Updated autosetup to 0.7.1+ for no better reason than the old one was pointing at an http documentation URL that no longer responds. Perhaps we will gain some ancillary benefit. check-in: f0852e7851 user: tangent tags: trunk | |
2023-04-15
| ||
02:39 | Changed all uses of sprintf() to snprintf() and changed the C standard we're requesting from the compiler from C89 to C99 to squish deprecation warnings from Clang 14 on macOS 13. (Oh, and to make the code proof against buffer overflows in these calls, minor detail.) check-in: cacb654c11 user: tangent tags: trunk | |
2023-04-14
| ||
11:44 | Dialed back a change made in [d479e9e291] which allowed the test program to be built as C++17 or "C++2a". I did this back in 2018, ahead of the actual standards being fully implemented, and now I'm seeing build failures due to the deprecation of std::iterator in C++17. Until someone steps up and implements the workaround recommended in the comitted comment, the code will fail to build with GCC 12.2 due to the use of -Werror. In the meantime, use nothing beyond C++14, the newest version of the standard known to work. check-in: 853ca6449c user: tangent tags: trunk | |
11:31 | Increased the size of a buffer by 2 bytes to squish a warning from GCC 12.2 about a potential overflow. check-in: a68f764ac6 user: tangent tags: trunk | |
2019-07-16
| ||
21:54 | JsonFormatter now has an option to suppress newlines during intention, per request from Warren Young. check-in: 4517aab6aa user: stephan tags: trunk | |
2019-03-05
| ||
16:08 | Updated upstream autosetup. check-in: f29fd2100b user: stephan tags: trunk | |
2018-12-19
| ||
17:28 | Upstream autosetup cc.tcl fix for propagation of certain env vars. check-in: 20f2eba8e9 user: stephan tags: trunk | |
2018-11-02
| ||
16:42 | The new "install" target was only copying the include/wh/nosjob/*.hpp files, not any of the *.h files in that dir's subdirs. Added new @ABSPREFIX@ variable in support of fixing this. check-in: 75c9e437f8 user: tangent tags: trunk | |
15:06 | Added -std=c++2a support, and made a few fixes to previous check-in: d479e9e291 user: tangent tags: trunk | |
14:53 | auto.def now figures out the newest -std=c++XX flag we can use and sets a variable subbed into the generated Makefile instead of hard-coding -std=c++14. check-in: dca82d9768 user: tangent tags: trunk | |
14:32 | Checkin [f2bcddcadd] broke GCC based builds check-in: a75bc4bdea user: tangent tags: trunk | |
09:46 | Fixed a bounds check in Array::operator[]. check-in: 6e8f0e126f user: stephan tags: trunk | |
09:37 | Moved clang check from Makefile.in to auto.def. check-in: f2bcddcadd user: stephan tags: trunk | |
01:11 | Replaced a needless use of the inefficient vector::erase() with vector::resize() in Array::pop(). This should only make popping elements faster, but it also fixes a segfault on a zeroed pointer dereference on macOS, which I don't understand. Something may still be less than kosher here. check-in: c7a506a21f user: tangent tags: trunk | |
00:26 | Added -fsanitize stuff to LDFLAGS when Clang is in use, since the macOS linker needs it. According to Apple, this is what you do instead of linking to libubsan: https://developer.apple.com/documentation/code_diagnostics/undefined_behavior_sanitizer/enabling_the_undefined_behavior_sanitizer check-in: 1509b6b284 user: tangent tags: trunk | |
00:18 | Testing for libubsan in auto.def to avoid a build breakage on macOS, which doesn't have that library, but it does use Clang. (Previously, this was conditional on Clang only.) check-in: 843c9ee162 user: tangent tags: trunk | |
00:06 | Implemented Array::operator[]. It was declared, but had no implementation! check-in: 5884f5d57c user: tangent tags: trunk | |
2018-11-01
| ||
23:24 | New build system: added autosetup/*, auto.def, and configure wrapper; converted Makefile to Makefile.in; added @prefix@-aware install Makefile target; added automatic reconfig and manual reconfig top-level Makefile target. check-in: bdc3b37c43 user: tangent tags: trunk | |
2018-07-05
| ||
13:59 | A pedantic bit of constness which makes no difference whatsoever but eases my mind. check-in: ff7e29d300 user: stephan tags: trunk | |
11:45 | Build experimentally tries clang by default if it's found in the PATH. check-in: 3742bf329d user: stephan tags: trunk | |
2018-07-04
| ||
23:22 | Fixed another case of UB in Utf8String involving std::string lifetime misuse. Replaced a std::string ctor call which was thought to be UB but, in hindsight, was not (oh, well). Preemptively modified one case of potential (but uncertain) UB, also involving std::string lifetime. Gawd bless clang, which revealed the resulting crash. check-in: 603cd6e745 user: stephan tags: trunk | |
22:45 | Apparently clang is unusually strict about the difference between struct and class in declarations. Added -lstdc++ to the test binaries because clang needs it. test crashes with clang due to corruption in the stringified JSON null value. check-in: 65610f5605 user: stephan tags: trunk | |
20:25 | Added a #include <ostream> to placate Clang 9.1.0 on macOS 10.13. Apparently none of the existing #includes brought that in, resulting in a confusing spew of complaints, since the compiler couldn't see what operators and such were available to it. check-in: 22bf2a6c89 user: tangent tags: trunk | |
19:45 | There were several places where a type was declared as "class" but later forward-declared as "struct", and vice versa. Clang won't tolerate this, so I made them consistent, choosing class or struct based on whether it started off with an access specifier or not. (Edit: stephan incidentally made this same set of fixes in the trunk at the same time, but using "class" everywhere.) Closed-Leaf check-in: 52c7aab144 user: tangent tags: struct-class-consistency-fix | |
2017-11-04
| ||
12:26 | Removed one piece of debug output. check-in: 65c14ca107 user: stephan tags: trunk | |
12:18 | Rewired std::map<non-string, T> serialization to use [k1,v1, ... kN,vN], which is much less verbose. This broke all kinds of stuff which then of course had to be fixed via fleshing-out of the AtomIterator types. check-in: 145e11188b user: stephan tags: trunk | |
2017-11-03
| ||
22:32 | Added some tests for Pete's interesting use case. check-in: 3006730b43 user: stephan tags: trunk | |
21:06 | Bugfix in the pair deserializer (wrong templatized type being used). check-in: 3de8178de0 user: stephan tags: trunk | |
21:05 | Made some enum entries explicit to assist in debugging. check-in: c480f8baa3 user: stephan tags: trunk | |
14:24 | Added a test with non-escaped UTF chars to try to confirm a problem Pete is reporting (turned out to be invalidly-encoded inputs). check-in: bdfa7243b3 user: stephan tags: trunk | |
2017-11-02
| ||
21:40 | Added a test to confirm that \u2013 (EN DASH) is parsed properly. Removed a broken use of Utf8String.c_str(). check-in: 57eeef9fde user: stephan tags: trunk | |
21:27 | added some missing AtomToNative overloads caught by Pete. check-in: 35b90abfae user: stephan tags: trunk | |
2017-10-31
| ||
21:55 | Integrated changes from a ping-pong session with Pete, UNexporting everything but Utf8String (because that's what builds for him). check-in: acf2be1b7f user: stephan tags: trunk | |
17:08 | added an s11n-related test. check-in: 3b16a37a18 user: stephan tags: trunk | |
17:03 | minor doc addition. check-in: cfb7ae468f user: stephan tags: trunk | |
17:01 | Added 'missing' overloads in AtomToNative_map_base and AtomToNative_string_map_base. Added a test of nosjob::s11n::load() which uncovered the need for them. check-in: 7def347e3d user: stephan tags: trunk | |
16:29 | Rewired AtomToString to use functors, rather than a static method, to fix some lookup weirdness. check-in: b93c522016 user: stephan tags: trunk | |
16:11 | re-did the (broken) Windows declspec stuff. Removed the (now obsolete) StringType typedef. check-in: 99c7e0a3aa user: stephan tags: trunk | |
15:08 | Removed Utf16String class, as it was never used. check-in: 06ca8f40cb user: stephan tags: trunk | |
14:55 | added Windows declspec() on all classes/functions. Hopefully it still compiles on Windows :/. check-in: 77bc7421b5 user: stephan tags: trunk | |
13:19 | minor doc update. check-in: 677f868d6d user: stephan tags: trunk | |
2017-10-19
| ||
08:52 | minor doc update. check-in: b78e1d0513 user: stephan tags: trunk | |
06:53 | removed some old/dead comments. check-in: 9cfc6fb4e0 user: stephan tags: trunk | |
06:43 | Fix encoding of UTF surrogate pairs. check-in: 094fea3962 user: stephan tags: trunk | |
05:41 | removed some dead code. check-in: d956d5719e user: stephan tags: trunk | |
05:19 | removed unused Mutex code. check-in: abf263a029 user: stephan tags: trunk | |
05:07 | Removed the whalloc dependency, as that code was unused and may impact portability to Windows. check-in: 2d9e60c447 user: stephan tags: trunk | |
2017-10-18
| ||
18:28 | OMG... Updated 3rd-party UTF and JSON parse. Tracked down and fix sudden failures caused by mis-use of the lifetime of std::string::c_str() values in various places (only revealed by newer compiler/STL). There might still be an outlier case or three of that, but the tests are now working again. check-in: 9069072521 user: stephan tags: trunk | |
15:50 | Removed a broken makefile version-checking block, updated some code to accommodate modern compilers. Why is fossil reporting invalid UTF8 in test.cpp? Edit: the invalid UTF on line 281 is an intentional part of the test code. check-in: 446c7733fb user: stephan tags: trunk | |