70 Commits

Author SHA256 Message Date
c8cfc0f038 IWYU 2025-09-27 18:18:17 -04:00
1bf12c858f String alloc shouldn't convert to std::string.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
As I work through making code use more C++ RAII and such, most
of the work is handling strings, especially temporaries.  As member
variables which manage string memory get turned into `std::string`,
some use cases might wind up leaking memory.  (One was found in
this change.)

By using a non-convertible-to-string result, such accidents should
be avoided.
2025-09-08 13:24:56 -04:00
d3933134c8 Merge branch 'fix-dangling-anchor' into master
* fix-dangling-anchor:
  Fix dangling anchor
2025-08-23 09:29:50 -04:00
23eea47336 Fix dangling anchor 2025-08-23 09:29:37 -04:00
13f931d82e More virtual base fixups. 2025-08-23 08:55:48 -04:00
f283391b46 Get some of the last remaining C files into C++
They still need to be fixed up, but they now build with C++.
2025-08-23 02:09:47 -04:00
e4f1102e32 Some of the Object::equals now are const correct.
There's more to do.

Why make this const-correct, instead of ditch it?  Because whatever
I replace it with has to be ready for const correctness.
2025-08-22 13:58:05 -04:00
d035bd4427 Now it's done. 2025-08-21 23:37:54 -04:00
a41d0b067d Partially done. 2025-08-21 19:19:28 -04:00
2d1e95d36b Requested anchor RAIIed. 2025-08-21 17:52:30 -04:00
4274490a86 Image owns its alt text. 2025-08-21 17:36:42 -04:00
b934b115ed Some const correctness in the Java pseudo core. 2025-08-21 17:17:43 -04:00
455169074a Local ownership for font name. 2025-08-21 16:41:52 -04:00
3e5badfaa1 Fix a use-after-free.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-17 02:45:15 -04:00
06a2b527a6 Another string map.
This time the font tables.
2025-08-11 04:01:27 -04:00
521b60d5da Trie and hyphenator RAII. 2025-08-11 03:47:43 -04:00
91da2ff34b Retire a HashTable. 2025-08-11 03:44:38 -04:00
fad69219ad A few more SimpleVector changes.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-11 02:30:11 -04:00
214a4a62fe Another SimpleVector nuked. 2025-08-11 01:54:39 -04:00
ffca1fe172 A SimpleVector from the table code is cleaned. 2025-08-10 23:35:03 -04:00
143f1f7d2d Some string cleanup 2025-08-10 23:14:32 -04:00
82512db44a Start to permeate more ownership. 2025-08-10 17:27:52 -04:00
640ccd02d3 Use std::min and std::max, not the misc versions. 2025-08-10 17:08:42 -04:00
6c3bf19bbd Polygon points vector STL-ified. 2025-08-10 14:39:36 -04:00
c63f58cfe1 Another local ersatz vector cleaned. 2025-08-09 19:07:57 -04:00
0a7730ecd5 Another SimpleVector removed. 2025-08-09 18:18:05 -04:00
9a907a0501 More non-STL containers contained. 2025-08-09 15:31:50 -04:00
80aa7cb15d Record a note about the last hash-set.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-09 15:17:26 -04:00
9dbf5ee536 This one pushes ownership a lot wider.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-09 12:29:05 -04:00
e9baf4e167 Another one's gone, another one's gone...
Another one bites the dust!  Hey hey!
2025-08-09 12:13:06 -04:00
04232a17c1 And another one's gone... 2025-08-09 12:01:07 -04:00
73df5edac6 Another List bites the dust... 2025-08-09 11:30:10 -04:00
4ce4fac659 Another STLification of a list. 2025-08-09 11:20:20 -04:00
8549ca489f Poor man's RTTI is mostly gone.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
I'm keeping the type-index to name mapping, for now.
2025-08-09 06:31:08 -04:00
0e6984196b The last few instanceOf uses? 2025-08-09 06:09:12 -04:00
31531b6cba Remove a complex instanceOf usage.
The condition chain here is rather baroque, so I'm making
this its own commit for `git bisect` purposes.
2025-08-09 05:54:51 -04:00
eda33f5097 Fix a comment that screws up paren balancing checks. 2025-08-09 05:53:40 -04:00
0bf153b049 Retire some instanceOf usage.
More can be retired.  Eventually, I think I can eliminate
the poor-man's RTTI in `Identity::Class`.
2025-08-09 05:44:53 -04:00
6ec7e50758 instanceOf now uses RTTI and checks its answer.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
Next I'll just remove it, but this commit lets me
have something in history such that I can fall back to
check for bugs that might get introduced.
2025-08-09 05:27:43 -04:00
c107600de6 ClassIDs are now actually typeinfo name pointers.
I'll see, next, about the `instanceOf` thing, and going with
more normal RTTI routes.
2025-08-09 05:11:24 -04:00
33cb7db2dd Fix rectangles bug. 2025-08-09 04:58:51 -04:00
905fdbf0dd Rectangles list is STL now. 2025-08-07 23:54:51 -04:00
eaee41750d Plumb some ownership around. 2025-08-06 03:38:48 -04:00
1cd924f16f Some defaulted ctor/dtors. 2025-08-06 03:32:14 -04:00
4a80d1d594 STL-list for another Java list case. 2025-08-06 03:31:51 -04:00
9cb76d2b22 Another hidden vector.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled
2025-08-05 02:30:28 -04:00
dec64ad9f8 Another local string. 2025-08-05 02:20:34 -04:00
5ee605b975 Trim unused variable. 2025-08-05 00:13:42 -04:00
35b54bbc0c Local string. 2025-08-04 10:41:05 -04:00
8a3e2aae1c Local integer vector. 2025-08-04 10:35:37 -04:00