Commit graph

96 commits

Author SHA1 Message Date
20fa6816de Clean up some simple warnings in Clang. 2024-01-13 15:19:57 -05:00
40a9c089ee Detect "fancy" compilers that support more flags.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 6s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Failing after 11s
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 7s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Failing after 11s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Failing after 12s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 16s
We now default to only specifying POSIX compiler flags to maintain
portability, unless a "fancy" compiler is detected that supports
additional flags.
2024-01-13 15:14:31 -05:00
c693ab0a6a Dependencies must start with ${SRC}/.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 5s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 6s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 12s
2024-01-13 14:49:05 -05:00
aa737a2b2e Don't use c99 -MM -MT.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 6s
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 5s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Failing after 11s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 10s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 13s
These are non-POSIX flags that only work on some compilers. Notably,
the BSD c99 executables don't support them.
2024-01-13 14:41:15 -05:00
846e50a76e Fix compiler warnings in Sha1.c.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 5s
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 4s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 17s
These warnings are false positives emitted by GCC; there are no errors
in the code. By changing the parameter type to a pointer, we prevent
GCC from making faulty assumptions about the code.
2024-01-13 14:25:41 -05:00
f2e8334faf Refactor UtilServerTs() -> UtilTsMillis().
The old name was a remnant from when Cytoplasm was still a part of
Telodendria, a *server*. Since Cytoplasm is no longer strictly a server
support library, this function name doesn't make sense.
2024-01-13 14:21:18 -05:00
25ccf339fc Remove Int, Int64, and UInt64 headers + code.
Also refactored the existing code to make use of stdint.h and
stdbool.h.
2024-01-13 14:18:48 -05:00
6750134adc Use POSIX c99 and pass -std=c99 just to be safe. 2024-01-13 12:00:26 -05:00
d0969d0dd7 Add a simple CI workflow for compiling Cytoplasm. (#27)
All checks were successful
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 19s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 16s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 19s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 21s
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
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
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
29070c8f41 Fix memory leak in code generated by j2s code.
Closes #17.
2023-11-20 09:51:08 -05:00
bc67393036 Update CHANGELOG.md 2023-11-06 21:28:10 -05:00
ba1ac5b42b Add JsonMerge().
Closes #15.
2023-11-06 19:59:46 -05:00
01da37f7d7 Bump version number. 2023-11-06 14:20:42 -05:00
618bcbbac3 j2s: Add 'extern' type and ignored fields.
Closes #14.
2023-11-06 14:19:49 -05:00
d242597e73 Allow customization of compiler used in configure. 2023-11-04 15:58:23 -04:00
4e73273cbd Add CHANGELOG.md 2023-11-01 12:20:52 -04:00
dadc1ac5c7 Provide build instructions and logo.
Closes #8.
2023-11-01 11:26:48 -04:00
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
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
03fe5ca355 Move http man page to Cytoplasm from Telodendria. 2023-11-01 08:33:37 -04:00
75ecb22724 Remove int64 and uint64; add http. 2023-11-01 08:28:35 -04:00
cced0ad883 Closes #3 2023-10-30 14:41:58 -04:00
51898d5bac Update README.md 2023-10-30 15:31:49 -04:00
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
2714a822b0 j2s now generates the proper includes. 2023-10-30 13:43:35 -04:00
7c1173eef8 Install tools to system.
Note that int64 and uint64 should probably be removed.
2023-10-30 12:21:14 -04:00
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
e69769d4d2 Update configure 2023-10-30 11:29:15 -04:00
LoaD Accumulator
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
dcbb488f7d Add install and uninstall recipes. 2023-10-02 16:02:51 -04:00
8395a05807 Clean up Makefile generation to make so it isn't so repetitive. 2023-09-28 23:21:31 -04:00
f16a9f4c6d Add print-libs for use in other scripts. 2023-09-28 19:53:57 -04:00
983fabcd2a Replace Cytoplasm's make.sh with configure script and Makefile. 2023-09-28 19:27:50 -04:00
7e21b2bfce Format source code and apply license. 2023-09-28 19:16:45 -04:00
ffc91b9114 Use int instead of char in EvalExpr.
Closes #5
2023-09-25 15:58:43 -04:00
LoaD Accumulator
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
d643cc876b Convert Cytoplasm README to markdown. 2023-09-05 22:10:33 -04:00
8e8342528f Apply #72 2023-09-04 13:30:22 +00:00
49acb75498 Fix memory leak in some generated code. 2023-08-17 18:09:53 +00:00
4e58b41049 Update documentation on UtilServerTs(). 2023-08-17 18:09:20 +00:00
bcfab52f09 Ignore special case in Int64Str. This is hack but good enough for now. 2023-08-13 12:33:18 +00:00
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
2c715c6e72 Make all timestamps use UInt64. 2023-08-12 23:02:06 +00:00
e9af54e4c7 Allow forcing the emulation mode for testing purposes. 2023-08-12 21:51:51 +00:00