Commit Graph

116 Commits

Author SHA1 Message Date
LDA 402d73c866 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment 2024-06-27 16:43:38 +02:00
Jordan Bancino dd99759e39 Merge pull request 'Fix stringification.' (#37) from lda/Cytoplasm:fix-stringify into master
Reviewed-on: Telodendria/Cytoplasm#37
2024-06-24 14:19:26 -05:00
Jordan Bancino bd310e62ac Merge pull request 'Fix TLS, again...' (#38) from lda/Cytoplasm:fix-tls into master
Reviewed-on: Telodendria/Cytoplasm#38
2024-06-24 14:18:43 -05:00
LDA d7faff734c [FIX] Actually apply serverName
As it turns out, it *was* odd. Not doing that will cause *someone* to
spend several hours fixing a SSL problem around a bridge they're making,
which needs to download media from a server and can't from *some* for an
undiscernable reason, causing said person to start going insane before
realising that Cytoplasm didn't set the server name properly.
2024-06-23 07:52:32 +02:00
LDA bec672c92c [MOD] Use a different constant 2024-06-19 17:51:13 +02:00
LDA 5dc1ec49eb [FIX] Actually set fd.
I *should* have seen that one coming, oops!
2024-06-19 17:40:06 +02:00
LDA eca717d90c Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into fix-tls 2024-06-19 17:39:37 +02:00
LDA 5fac67a674 [MOD] Fix stringification of version number
It just kept bothering me.
2024-06-15 13:54:49 +02:00
LDA 8b2bdbe220 [FIX] Actually do proper stringification.
It just kept bothering me.
2024-06-15 13:48:39 +02:00
LDA 1ad6f0d976 Merge branch 'mem-moment' of https://git.telodendria.io/lda/Cytoplasm into mem-moment 2024-06-15 13:44:13 +02:00
LDA 9f706102c4 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment 2024-06-15 13:43:45 +02:00
lda 5003ddc281 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment 2024-06-08 12:08:30 +02:00
Jordan Bancino b9dc169917 Merge pull request 'Fix file descriptor leakage' (#35) from lda/Cytoplasm:tls-file-leak into master
Reviewed-on: Telodendria/Cytoplasm#35
2024-06-07 14:00:44 -05:00
lda d983296dd2 [MOD] As it turns out, you do need to free thr fd. 2024-06-03 19:42:09 +02:00
lda 007b8f6d43 [MOD/WIP] Blazing-fast memory allocator 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
This still however removes `MemoryIterate' from allocations, because
it's a real performance pickle. From my tests parsing large sync
replies, this commit is near instant(pv reports 23MiB/s on a 2MB sync).

Still need a good compromise along MemoryIterate(like maybe find out a
clever way to only make it run on a small subset, or maybe just randomly
run it from time to time, or maybe just roll without it except on some
soft of debug mode????)
2024-06-03 16:18:29 +02:00
lda 9108fef701 Fix inconsistent sanitation with the database (#32)
Cytoplasm's Db currently doesn't sanitate database entries consistently, and this PR should be a quick fix for this.

Reviewed-on: Telodendria/Cytoplasm#32
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-05-26 15:31:14 -05:00
Jordan Bancino 346b912a06
ArraySort(): Fix bound checking bug.
Closes #31.
2024-05-18 10:50:18 -04:00
Jordan Bancino 5d87da31cd j2s generated code is now C99.
It also no longer requires on the now-defunct Int64.h.
2024-01-13 18:55:31 -05:00
Jordan Bancino 461357b526 Move headers from `src/include` to `include/Cytoplasm`.
This makes it easier to build Cytoplasm as a component of another
program (for example, Telodendria), or as a standalone system library.
2024-01-13 18:40:31 -05:00
Jordan Bancino cd7df7bbb4 Enable higher optimization on fancy compilers. 2024-01-13 18:22:37 -05:00
Jordan Bancino c489eff517 Set -Wextra on fancy compilers. 2024-01-13 18:11:44 -05:00
Jordan Bancino 039a487bdf Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm 2024-01-13 17:57:31 -05:00
Jordan Bancino 31c9bc7f1c Update Cytoplasm license text for 2024. 2024-01-13 17:56:58 -05:00
Jordan Bancino 11e0a34c02 Update README.md 2024-01-13 17:49:36 -05:00
Jordan Bancino 08166dd3a7 Don't use `install` because it is not POSIX.
Closes #13.
2024-01-13 17:26:17 -05:00
Jordan Bancino c3429f035c Update CHANGELOG.md 2024-01-13 17:18:17 -05:00
Jordan Bancino 662696ce12 C99 Compliance (#29)
This pull request brings Cytoplasm up from C89 to C99, which makes it much more portable across platforms. In particular, this pull request solves a number of issues with 32-bit platforms.

Closes #28.
Closes #12.
Closes #20.

Reviewed-on: Telodendria/Cytoplasm#29
2024-01-13 17:13:45 -05:00
Jordan Bancino d0969d0dd7 Add a simple CI workflow for compiling Cytoplasm. (#27)
This will allow us to pick up compiler warnings from other systems, mainly 32-bit ones. 32-bit systems have different integer sizes that cause all kinds of warnings that we should really address.

Reviewed-on: Telodendria/Cytoplasm#27
2024-01-13 11:08:44 -05:00
Jordan Bancino d7da8e0a54 Merge pull request 'Fix potential double-free issue in Cytoplasm' (#22) from lda/Cytoplasm:fix-router-issue into master
Reviewed-on: Telodendria/Cytoplasm#22
2024-01-04 19:32:57 -05:00
lda 44b7f45bb7 [FIX] Fix other potential double-free
Was done "à la va-vite" since I can't really work on it directly right now.
2024-01-01 07:57:11 -05:00
lda 3788d044e6
[FIX] Fix potential double-free issue in Cytoplasm 2023-12-14 18:31:20 +01:00
Jordan Bancino 928e9c8223 Update CHANGELOG.md 2023-12-02 10:26:24 -05:00
lda 17f1a41519 `HttpRouter`: Decode path parts before matching. (#19)
Required by Telodendria/Telodendria#44.

Reviewed-on: Telodendria/Cytoplasm#19
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-12-02 10:25:28 -05:00
Jordan Bancino 29070c8f41 Fix memory leak in code generated by `j2s` code.
Closes #17.
2023-11-20 09:51:08 -05:00
Jordan Bancino bc67393036 Update CHANGELOG.md 2023-11-06 21:28:10 -05:00
Jordan Bancino ba1ac5b42b Add `JsonMerge()`.
Closes #15.
2023-11-06 19:59:46 -05:00
Jordan Bancino 01da37f7d7 Bump version number. 2023-11-06 14:20:42 -05:00
Jordan Bancino 618bcbbac3 `j2s`: Add 'extern' type and ignored fields.
Closes #14.
2023-11-06 14:19:49 -05:00
Jordan Bancino d242597e73 Allow customization of compiler used in configure. 2023-11-04 15:58:23 -04:00
Jordan Bancino 4e73273cbd Add CHANGELOG.md 2023-11-01 12:20:52 -04:00
Jordan Bancino dadc1ac5c7 Provide build instructions and logo.
Closes #8.
2023-11-01 11:26:48 -04:00
Jordan Bancino 8ffade37b1 Add a meta header.
This allows programs to print the name and version of the library that
is currently in use.
2023-11-01 11:26:27 -04:00
Jordan Bancino 6ab1c7919b Explicitly set the `make` compiler to `cc`.
This makes it work out of the box on GNU systems where GNU make defaults
to c99, which doesn't accept -std=c89.
2023-11-01 11:25:32 -04:00
Jordan Bancino 03fe5ca355 Move http man page to Cytoplasm from Telodendria. 2023-11-01 08:33:37 -04:00
Jordan Bancino 75ecb22724 Remove int64 and uint64; add http. 2023-11-01 08:28:35 -04:00
Jordan Bancino cced0ad883 Closes #3 2023-10-30 14:41:58 -04:00
Jordan Bancino 51898d5bac Update README.md 2023-10-30 15:31:49 -04:00
Jordan Bancino 2ea041d99d main() is already included in the library.
The runtime stub doesn't need to be a separate object.
2023-10-30 14:11:22 -04:00
Jordan Bancino 2714a822b0 j2s now generates the proper includes. 2023-10-30 13:43:35 -04:00
Jordan Bancino 7c1173eef8 Install tools to system.
Note that int64 and uint64 should probably be removed.
2023-10-30 12:21:14 -04:00