Commit Graph

92 Commits

Author SHA1 Message Date
Jordan Bancino 31c9bc7f1c Update Cytoplasm license text for 2024. 2024-01-13 17:56:58 -05:00
Jordan Bancino 08166dd3a7 Don't use `install` because it is not POSIX.
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 8s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 8s Details
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 14s Details
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 10s Details
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 11s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 13s Details
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 15s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 14s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 18s Details
Closes #13.
2024-01-13 17:26:17 -05:00
Jordan Bancino c3429f035c Update CHANGELOG.md
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 10s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 11s Details
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 13s Details
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 13s Details
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 15s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 14s Details
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 14s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 14s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 19s Details
2024-01-13 17:18:17 -05:00
Jordan Bancino 662696ce12 C99 Compliance (#29)
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 8s Details
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 10s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 9s Details
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 13s Details
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 11s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 14s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 15s Details
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 15s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 17s Details
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: #29
2024-01-13 17:13:45 -05:00
Jordan Bancino d0969d0dd7 Add a simple CI workflow for compiling Cytoplasm. (#27)
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Successful in 15s Details
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 19s Details
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 17s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 17s Details
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 16s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 15s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 19s Details
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Successful in 17s Details
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 21s Details
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: #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: #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: #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
Jordan Bancino 3a683dbb70 Fix includes in headers.
These are installed to the system and some compilers may not  find the
headers in the current directory if we don't do this, even though
according to the C standard, either should work.
2023-10-30 12:10:41 -04:00
Jordan Bancino e69769d4d2 Update configure 2023-10-30 11:29:15 -04:00
lda c23f8a4be6 [FIX] Fix issue related to TLS (#1)
The Makefile didn't properly set TLS_IMPL, effectively causing no
TLS implementation to be put in.

Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Reviewed-on: #1
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-committed-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
2023-10-04 15:02:38 -04:00
Jordan Bancino dcbb488f7d Add install and uninstall recipes. 2023-10-02 16:02:51 -04:00
Jordan Bancino 8395a05807 Clean up Makefile generation to make so it isn't so repetitive. 2023-09-28 23:21:31 -04:00
Jordan Bancino f16a9f4c6d Add print-libs for use in other scripts. 2023-09-28 19:53:57 -04:00
Jordan Bancino 983fabcd2a Replace Cytoplasm's make.sh with configure script and Makefile. 2023-09-28 19:27:50 -04:00
Jordan Bancino 7e21b2bfce Format source code and apply license. 2023-09-28 19:16:45 -04:00
Jordan Bancino ffc91b9114 Use int instead of char in EvalExpr.
Closes #5
2023-09-25 15:58:43 -04:00
lda 9c4c3fc899 Fixes issue #33 related to a memory issue, and format some code. (#35)
Fixes #33.

Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Reviewed-on: Telodendria/telodendria#35
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-committed-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
2023-09-11 10:57:16 -04:00
array-in-a-matrix a19ebea78f replaced .cvsignore with .gitignore 2023-09-06 11:45:44 -04:00
Jordan Bancino d643cc876b Convert Cytoplasm README to markdown. 2023-09-05 22:10:33 -04:00
Jordan Bancino 8e8342528f Apply #72 2023-09-04 13:30:22 +00:00
Jordan Bancino 49acb75498 Fix memory leak in some generated code. 2023-08-17 18:09:53 +00:00
Jordan Bancino 4e58b41049 Update documentation on UtilServerTs(). 2023-08-17 18:09:20 +00:00
Jordan Bancino bcfab52f09 Ignore special case in Int64Str. This is hack but good enough for now. 2023-08-13 12:33:18 +00:00
Jordan Bancino a1da7c7b4a Json now uses Int64 for integers.
This should fix all timestamp errors on 32-bit systems in Cytoplasm and
Telodendria.
2023-08-13 03:11:40 +00:00
Jordan Bancino 2c715c6e72 Make all timestamps use UInt64. 2023-08-12 23:02:06 +00:00
Jordan Bancino e9af54e4c7 Allow forcing the emulation mode for testing purposes. 2023-08-12 21:51:51 +00:00
Jordan Bancino 63f835d006 Add signed 64-bit integer support. 2023-08-12 19:59:16 +00:00
Jordan Bancino 92b1e60c4c Add 64-bit emulation for platforms that don't have a native 64-bit type. 2023-08-12 16:30:24 +00:00
Jordan Bancino 098592de42 Add schema for PDUs v1 and v3, the only unique PDU formats.
All other room versions use one of these two PDU formats.
2023-08-10 00:08:33 +00:00
Jordan Bancino 7adf972bc5 Add support for arrays of primitives. 2023-08-04 20:47:36 +00:00