nosjob

Timeline
Login

Timeline

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