cosmopolitan/libc/stdio
Justine Tunney 281a0f2730 Implement raw system call for redbean lua code
You can now call functions like fork() from Lua and it'll work across
all supported platforms, including Windows. This gives you a level of
control of the system that Lua traditionally hasn't been able to have
due to its focus on old portable stdio rather modern POSIX APIs. Demo
code has been added to redbean-demo.com to show how it works.

This change also modifies Lua so that integer literals with a leading
zero will be interpreted as octal. That should help avoid shooting in
the foot with POSIX APIs that frequently use octal mode bits.

This change fixes a bug in opendir(".") on New Technology.

Lastly, redbean will now serve crash reports to private network IPs.
This is consistent with other frameworks. However that isn't served
to public IPs unless the -E flag is passed to redbean at startup.
2022-04-13 08:53:24 -07:00
..
unlocked Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
append.internal.h Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
appendd.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
appendf.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
appendr.c Make numerous improvements 2021-09-28 01:52:34 -07:00
appends.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
appendw.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
appendz.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
clearerr.c Change license 2020-12-27 17:18:44 -08:00
dirstream.c Implement raw system call for redbean lua code 2022-04-13 08:53:24 -07:00
dtoa.c Support proper %g, %f, and %a float formatting 2021-03-05 10:31:16 -08:00
dumphexc.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
fbufsize.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fclose.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
fclose_s.c Improve locks and signals 2022-04-12 05:20:17 -07:00
fdopen.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
feof.c Change license 2020-12-27 17:18:44 -08:00
ferror.c Change license 2020-12-27 17:18:44 -08:00
fflush.c Polish recent changes and make improvements 2022-03-19 03:37:00 -07:00
fflush.internal.h Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
fflushimpl.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
fgetc.c Fix popen_test in MODE=dbg 2021-05-01 17:13:48 -07:00
fgetln.c Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
fgetpos.c Change license 2020-12-27 17:18:44 -08:00
fgets.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
fgetwc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fgetws.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fileno.c Change license 2020-12-27 17:18:44 -08:00
flbf.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
flockfile.c Add more POSIX function stubs 2021-03-02 03:27:55 -08:00
flushers.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
flushlbf.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
fmemopen.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fopen.c Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
fopenflags.c Fix issues with stdio needed for Lua 2021-03-06 19:04:26 -08:00
fpending.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fprintf.c Change license 2020-12-27 17:18:44 -08:00
fpurge.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fputc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fputs.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fputwc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fputws.c Change license 2020-12-27 17:18:44 -08:00
fread.c Restart CI for New Technology and UBSAN hunting 2022-03-21 04:32:57 -07:00
freadable.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
freading.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
freopen.c Fix freopen so it resets stream buffer (#61) 2021-03-07 12:12:02 -08:00
fscanf.c Change license 2020-12-27 17:18:44 -08:00
fseek.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
fseeko.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
fsetlocking.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fsetpos.c Change license 2020-12-27 17:18:44 -08:00
ftell.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
ftello.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
fwritable.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
fwrite.c Improve performance of printf functions 2021-04-24 13:58:50 -07:00
fwriting.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
getc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
getchar.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
getdelim.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
getline.c Fix basename() and dirname() 2022-04-06 00:13:44 -07:00
gets.c Change license 2020-12-27 17:18:44 -08:00
getwc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
getwchar.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
hex.internal.h Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
internal.h Make numerous improvements 2021-09-28 01:52:34 -07:00
kappendf.c Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
kvappendf.c Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
mkostemp.c Change license 2020-12-27 17:18:44 -08:00
mkostemps.c Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
mkostempsm.c Polyfill SIGCHLD on the New Technology 2022-03-22 21:31:12 -07:00
mkstemp.c Change license 2020-12-27 17:18:44 -08:00
mkstemps.c Change license 2020-12-27 17:18:44 -08:00
mktemp.c Change license 2020-12-27 17:18:44 -08:00
pclose.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
popen.c Polish recent changes and make improvements 2022-03-19 03:37:00 -07:00
printf.c Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
putc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
putchar.c Change license 2020-12-27 17:18:44 -08:00
puts.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
putwc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
putwchar.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
rewind.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
scanf.c Change license 2020-12-27 17:18:44 -08:00
setbuf.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
setbuffer.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
setlinebuf.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
setvbuf.c Reduce memory needed by ASAN morgue 2021-08-19 09:34:24 -07:00
spawn.c Polish recent changes and make improvements 2022-03-19 03:37:00 -07:00
spawn.h Improve system call polyfills 2021-03-08 10:07:02 -08:00
spawna.c Add posix_spawn (#114) 2021-03-07 20:14:07 -08:00
spawna.internal.h Add posix_spawn (#114) 2021-03-07 20:14:07 -08:00
spawnf.c Improve LLVM compatibility a little bit 2021-05-16 20:34:46 -07:00
spawnp.c Add posix_spawn (#114) 2021-03-07 20:14:07 -08:00
stdbuf.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
stderr-init.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
stderr.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
stdin-init.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
stdin.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
stdio.h Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
stdio.mk Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
stdio_ext.h Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
stdout-init.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
stdout.c Add SNI support to redbean and improve SSL perf 2021-07-23 13:56:13 -07:00
system.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
systemexec.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
temp.h Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
tmpfile.c Add Linux ptrace() tutorial 2022-03-24 08:00:36 -07:00
ungetc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
ungetwc.c Make major improvements to stdio 2021-03-26 22:31:41 -07:00
unlocked.h Add more POSIX function stubs 2021-03-02 03:27:55 -08:00
vappendf.c Add function for creating hex string literals 2021-08-07 07:05:19 -07:00
vfprintf.c Improve performance of printf functions 2021-04-24 13:58:50 -07:00
vfscanf.c Change license 2020-12-27 17:18:44 -08:00
vprintf.c Change license 2020-12-27 17:18:44 -08:00
vscanf.c Change license 2020-12-27 17:18:44 -08:00