aac8280e8a
libc+libos: Properly propagate errors through fgetc() and File::getchar()
...
This restores proper ^C behavior in the shell.
2023-08-02 14:46:47 +02:00
b17793134e
libos: Let users change the buffering mode of a File
2023-08-02 11:54:47 +02:00
eeb9e16a74
libos: Make os::File a wrapper around stdio's FILE
...
continuous-integration/drone/push Build is passing
This way, os::File benefits from the same buffering as stdio.h does.
2023-07-22 12:40:02 +02:00
bd757d204e
kernel+libos+libluna: Avoid copying and reallocation when creating Strings
...
continuous-integration/drone/push Build is passing
This is done by reusing the existing buffers in Vector and Buffer instances.
2023-07-02 19:30:25 +02:00
bc07cc94cb
libos: Document it entirely using Doxygen comments =D
...
continuous-integration/drone/push Build is passing
Also, add copyright information to individual files. This is going to be a hassle to do for EVERY file.
2023-06-09 22:45:06 +02:00
85896214ba
libos: Make File::read_all() read chunked blocks instead of one character at a time
...
continuous-integration/drone/push Build is passing
This results in a speedup of 0.23s -> 0.13s for Base64 encoding of /bin/ls.
2023-06-04 00:23:06 +02:00
3eb78aa5f3
libos+init: Add a new Path class to handle both file descriptors and file paths
continuous-integration/drone/push Build is passing
2023-05-03 17:37:26 +02:00
a2303665fc
libos: Add os:: print(), println(), eprint(), and eprintln()
2023-05-01 19:31:15 +02:00
cb28e2a385
libos: Add a convenience function for opening a file or standard input
2023-04-26 20:41:03 +02:00
fb09eb97ce
libos: Add File::read_all() and File::read_all_as_string()
2023-04-26 20:34:09 +02:00
e378d8ee2f
Revert "libos: Make File::read_line optionally strip the ending newline"
...
continuous-integration/drone/push Build is passing
This should be done by the caller, as making libos do it will not return a different value if the line was empty or was EOF.
Fortunately, we now have String::trim.
2023-04-22 15:21:04 +02:00
63a2df112d
libos: Make File::read_line optionally strip the ending newline
2023-04-22 13:55:07 +02:00
fe11b04832
File: Add methods to read/write using buffers
2023-04-18 16:41:17 +02:00
82e7b0e860
kernel: Introduce *at() syscall framework, add openat() and fstatat()
continuous-integration/drone/push Build is passing
2023-04-15 20:26:15 +02:00
60c6e764a4
libos+apps: Add some missing functionality to File and eliminate any trace of C from cat and edit
continuous-integration/drone/push Build is passing
2023-04-13 17:31:21 +02:00
d97bf991d1
libos: Add a very bare-bones C++ RAII File class
2023-04-12 21:46:10 +02:00