42 Commits

Author SHA256 Message Date
40a342d4e3 No external form deletion. 2025-09-27 18:37:26 -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
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
2dd41b440e A lot of string returns made RAII 2025-08-12 03:48:47 -04:00
f5a870a207 More local string cleanups. 2025-08-11 03:42:59 -04:00
17b7c8a8dc Another dString retired. 2025-08-11 03:24:48 -04:00
9c4d7b6849 Some string cleanups.
Also, I think I fixed an accidental memory leak I introduced.
2025-08-11 03:02:26 -04:00
143f1f7d2d Some string cleanup 2025-08-10 23:14:32 -04:00
47d9c7eaa0 Another SimpleVector down. 2025-08-10 22:49:36 -04:00
0d99c78908 HtmlInput ownership. 2025-08-09 18:03:43 -04:00
f4281aea39 Another simple ownership case.
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-09 17:55:58 -04:00
56be517082 Another URL in DilloHtml. 2025-08-05 22:36:09 -04:00
9c2225a633 A url. 2025-08-05 22:30:12 -04:00
92e90f9233 Another string. 2025-08-05 22:29:54 -04:00
2e28fca5dd Forgot a fix to make it build.
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-01 11:34:44 -04:00
bf2ea183b2 A bit more ownership cleanpups.
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-01 02:39:13 -04:00
bf1e787deb Forms code is a bit more RAII. 2025-08-01 02:08:15 -04:00
65f85a0b43 Image (reference counted) now uses shared_ptr. 2025-08-01 01:30:15 -04:00
9ddc88d151 Some memory changes in forms. 2025-05-31 08:36:48 -04:00
bd581c55b6 Fix form rendering bugs I introduced.
In translating from pointers to strings, I
need to handle the nullable case better.
2025-05-20 02:19:51 -04:00
cbb099700b Fix another optional access usage. 2025-04-26 03:22:44 -04:00
aec0331924 Fix bad optional reference.
The client calls still take pointers, for now.

We'll get there...  There's a lot to convert.
2025-04-24 00:29:25 -04:00
265ac2aa9a Another set of local ownership down. 2025-04-24 00:12:13 -04:00
0dc0938c7f This should be a unique_ptr.
The lower functions already created them so, and I marked them
`release`.  Time to unify.
2025-04-19 02:41:03 -04:00
176628fa02 Ownership of page Widget plumbed to top.
Now it's created by `make_unique`.
2025-04-18 14:22:36 -04:00
99515ff353 Plumb Widget ownership up higher. 2025-04-18 14:22:36 -04:00
80f980a2e1 Revert "This adds some resource-ownership tracking."
This reverts commit fad3dbc39a.
2025-04-18 14:22:35 -04:00
71fdec3129 URL code uses more C++ string bits. 2025-04-14 23:59:21 -04:00
51047f212e Another quick win on ownership. 2025-04-14 05:03:35 -04:00
b4f3c72f22 Form receiver gets unique ptr. 2025-04-14 04:16:46 -04:00
d4a69c0b11 Plumbing ownership further; some things became C++ 2025-04-14 03:48:28 -04:00
76bae93e1c Plumb the ownership up a bit.
The HTML function returning a DilloUrl now returns
ownership.  More releases scattered, but we can clean those
up in time.
2025-04-13 15:40:46 -04:00
61c879c218 URI header now returns pointers with ownership.
I've put `.release()` at most of the callsites, but this
gives me something to search for when taking the next
steps.
2025-04-13 15:05:21 -04:00
27ae7d91c1 Begin converting URL struct into modern C++ class 2025-04-12 22:20:34 -04:00
441a04609b DilloURL has a dtor.
It is the same as the original free function.  But this
will let me put some ownership on various members and slowly
start to C++ify this core type.
2025-04-12 04:08:14 -04:00
564567d389 Charset now an optional string. 2025-04-11 19:49:07 -04:00
06f8226487 Migrate a lot of C to C++.
It will let me put a lot more dtors into certain
structs that C++ code calls `free` on members within.
2025-04-10 02:46:06 -04:00
f29c4f3992 Removed a few of the SimpleVector lists. 2025-04-09 13:02:23 -04:00
fad3dbc39a This adds some resource-ownership tracking.
Time to start spreading this out, more.
2025-03-03 13:26:36 -05:00
396b5fc2a6 This is a major lift into C++.
Much of the code is now building in C++, and I'm using C++23.

A spot test seems to work.  Now I can start to debride all the
painful memory management quirks...
2025-03-01 03:03:25 -05:00
8101f9f267 This marks the "start" of Flenser. 2025-02-28 13:53:05 -05:00
20fea64cb5 Initial import of Dillo 2025-02-28 13:34:30 -05:00