2584a86ab4
Added struct ip_mreq ( #143 )
2021-04-01 19:38:11 -07:00
9e98d6893d
Add some missing prototypes ( #142 )
2021-04-01 19:36:37 -07:00
6682013d12
Implement syslog ( #136 )
2021-04-01 19:32:39 -07:00
1753b669cf
Have redbean show zip listing as default / handler
...
If an "index.lua" or "index.html" doesn't exist in zip file or the
filesystem, and no redirects have been defined for it either, then
redbean will render a listing of the zip central directory content
only if the request uri points to the root path.
2021-03-29 01:22:49 -07:00
ae300d0c40
Remove colliding name in syscalls.sh
...
Credit goes to @fabriziobertocci for finding this. See #136 .
2021-03-28 18:26:56 -07:00
52565e7af3
Make minor performance improvement to HTTP parser
...
redbean's message parser now takes 300 nanoseconds to parse a standard
request sent by chrome, whereas it previous took 600 nanoseconds.
2021-03-28 18:00:29 -07:00
dcbd2b8668
Add base64 support
...
Lua Server Pages may now call the EncodeBase64() and DecodeBase64()
functions should they wish to do things like emit embeded data URIs
See #97
2021-03-27 18:17:54 -07:00
4d21cd315d
Support POST parameters in redbean server pages
...
See #97
2021-03-27 07:29:55 -07:00
da36e7e256
Make major improvements to stdio
...
Buffering now has optimal performance, bugs have been fixed, and some
missing apis have been introduced. This implementation is also now more
production worthy since it's less brittle now in terms of system errors.
That's going to help redbean since lua i/o is all based on stdio.
See #97
2021-03-26 22:31:41 -07:00
09bcfa23d5
Make major improvements to redbean
...
- lua server pages
- lua http library
- http v0.9 support
- request uri parsing
- fork failure recovery
- accelerated redirects
- http pipelining support
- lenient message framing
- html / uri / js escaping
- fix shutdown signal handling
2021-03-25 02:24:05 -07:00
2f41b4dcc6
Add prototype for srandom() ( #132 )
2021-03-21 07:33:33 -07:00
5af25f687a
Rename eai2str to gai_strerror ( #131 )
2021-03-20 20:48:40 -07:00
9c81729008
Remove unused variable in fflush ( #129 )
2021-03-17 20:15:00 -07:00
8a236433a2
Add more math functions ( #128 )
2021-03-17 20:05:12 -07:00
ab64ef7364
Make fflush() return 0 on success ( #114 )
2021-03-17 13:02:15 -07:00
4177489762
Perform fine-tuning of socketpair and pipe
...
- removed unneeded share parameter from pipe on nt
- socktpair(type | SOCK_CLOEXEC) is now polyfilled
- use textwindows for linker micro-optimization
- apologies for auto clang-format diff noise :(
- improve socketpair docstring
See #122
2021-03-16 22:44:54 -07:00
4e93750afd
Perform some minor fixups
2021-03-16 22:19:51 -07:00
ca88ce5026
Add socketpair ( #122 )
2021-03-16 22:05:59 -07:00
6388ef21f8
Add noreturn macro ( #118 )
2021-03-13 20:46:12 -08:00
7ffeb29bfc
Add missing functions to tgmath ( #124 )
2021-03-13 20:43:57 -08:00
da4dffccc5
Add random() and srandom()
...
Closes #123
2021-03-13 20:24:29 -08:00
807706a099
Perform minor fixups
...
One of those fixups is making sure that AF_LOCAL is equal to AF_UNIX on
the New Technology. See #122
2021-03-13 19:40:04 -08:00
83d0c3b870
Fix writev() on the New Technology ( #117 )
2021-03-09 11:33:48 -08:00
6cd1037692
Get VSCode working with Linux and WSL ( #116 )
2021-03-09 10:12:39 -08:00
3f35b37b68
Remove nonstandard defines from limits.h ( #115 )
2021-03-08 17:34:44 -08:00
67c27d9e6e
Add Hello World example for LUA C API ( #97 )
2021-03-08 14:15:59 -08:00
2a3037d4e8
Delete Duktape ( #97 )
2021-03-08 13:17:52 -08:00
0a61fe4ea0
Add smoke test for timezone loading ( #114 )
2021-03-08 11:46:04 -08:00
33e8fc8687
Expose public garbage collector API for C language
...
You can now do epic things like this:
puts(_gc(xasprintf("%d", 123)));
The _gc() API is shorthand for _defer() which works like Go's keyword:
const char *s = xasprintf("%d", 123);
_defer(free, s);
puts(s);
Be sure to always use -fno-omit-frame-pointer which makes code fast too.
Enjoy! See also #114
2021-03-08 10:59:34 -08:00
0ad609268f
Improve system call polyfills
...
- Polyfill open() w/ O_CLOEXEC on RHEL5
- Remove old workaround from rmdir() on the New Technology
- preadv() and pwritev() are now smarter about demodernization
- preadv() and pwritev() are now available on the New Technology
2021-03-08 10:07:02 -08:00
816b0e1851
Improve tmpfile api ( #114 )
2021-03-07 21:08:27 -08:00
2bd1e72d5a
Remove garbage collector macro from header ( #114 )
...
We can put this back the moment someone requests it. Pain-free garbage
collection for the C language is pretty cool. All it does is overwrite
the return address with a trampoline that calls free(). It's not clear
what it should be named if it's made a public API.
2021-03-07 20:23:29 -08:00
5ce83b08c8
Add posix_spawn ( #114 )
2021-03-07 20:14:07 -08:00
a8945714e8
Make gdtoa less tunable ( #104 )
...
The -fno-math-errno flag shouldn't impact libraries since it's mostly
intended for permitting the compiler to generate sqrt() instructions.
2021-03-07 16:41:59 -08:00
8a6ac6dd63
Set errno when out of range in strtoimax ( #111 )
2021-03-07 14:38:56 -08:00
f5da4efcaf
Set errno in strtol family of functions ( #110 )
2021-03-07 14:18:08 -08:00
aad841610e
Fix freopen so it resets stream buffer ( #61 )
2021-03-07 12:12:02 -08:00
67b9675c81
Make tgmath.h available ( #109 )
2021-03-06 22:40:18 -08:00
813e11b90b
Fix int parsing with base 2 and 16 ( #107 )
2021-03-06 21:12:32 -08:00
fb7b7c6e21
Fix isystem headers including wrong files ( #108 )
2021-03-06 21:06:29 -08:00
d769df3482
Fix issues with stdio needed for Lua
...
See #61
2021-03-06 19:04:26 -08:00
c3ed8d6c7f
Make %p consistent with glibc and musl
...
See #61
2021-03-06 14:36:44 -08:00
937d921018
Add tests for the greatest of all libm functions
2021-03-06 12:59:35 -08:00
bfef17eb6d
Add more math fixes
2021-03-06 11:44:40 -08:00
11ec99931b
Add Musl multibyte functions
...
These are standard functions that are needed to help support the Skull
language. Note that normally this codebase uses libc/str/thompike.h
See #105
2021-03-06 09:53:16 -08:00
cfd453d125
Add more real formatting tests
...
See #61
2021-03-06 08:45:44 -08:00
6fa049c9c7
Add macro for static_assert ( #106 )
2021-03-05 20:32:25 -08:00
3364fc5b03
Add modf(), modff(), and modfl()
...
See #104
2021-03-05 10:47:14 -08:00
f064183646
Support proper %g, %f, and %a float formatting
...
See #61
See #104
2021-03-05 10:31:16 -08:00
e26bdbec52
Make examples folder somewhat more focused
2021-03-05 06:09:12 -08:00