sourceturner
b3f7db83cf
Use unsafe blocks in stdio.h implementation
2026-01-16 21:49:01 +00:00
Wildan M
6ef56f5bc9
Use pthread recursive mutex for flockfile
2026-01-07 00:54:20 +07:00
Jeremy Soller
fbf280c3d7
Fix padding of infinite float
2025-12-24 20:32:54 -07:00
Jeremy Soller
f3afff08de
Adjust ftell for write buffer
2025-12-24 20:13:13 -07:00
auronandace
95f7a12b8b
only import needed types
2025-12-16 16:46:05 +00:00
auronandace
887a53c1b2
update and add spec links
2025-12-16 16:42:08 +00:00
Connor-GH
1b86d87475
printf: use None if precision given in the next argument is negative
2025-12-07 10:16:33 -06:00
Josh Megnauth
f5d432644f
Implement renameat, renameat2
...
Like the other "at" functions, renameat renames files with respect with
a directory descriptor. "renameat2" is Linux specific but really nice -
it adds a flag which supports atomically swapping two files or failing
if the target already exists. The latter is easily supported in relibc.
The former requires redoxfs support.
Besides the impl itself, I refactored "cap_path_at" into what it really
is: a mini openat2-like function.
2025-10-21 14:47:39 -04:00
4lDO2
1c5732ba36
Share almost all code between printf and wprintf.
2025-10-07 15:58:34 +02:00
4lDO2
96917f519e
Reuse PrintfIter for both printf and wprintf.
2025-10-06 16:16:48 +02:00
4lDO2
6dc2606886
Expand CStr to make PrintfIter fully safe.
2025-10-06 16:16:48 +02:00
Jeremy Soller
82084440ad
Support nightly-2025-10-03
2025-10-03 21:51:10 -06:00
Jeremy Soller
6110a77044
Merge branch 'cstr_strchr' into 'master'
...
Add safe strchr method for CStr.
See merge request redox-os/relibc!723
2025-09-21 10:35:10 -06:00
4lDO2
9aeb9abd97
Add safe strchr method for CStr.
2025-09-21 17:00:45 +02:00
Jeremy Soller
38d667a58e
Merge branch 'printf-use-float-abs' into 'master'
...
printf: Use f64::abs
See merge request redox-os/relibc!639
2025-09-21 08:17:46 -06:00
Jacob Lorentzon
9c5f11fbc8
Add Out<T> wrapper
2025-09-21 14:36:12 +02:00
Josh Megnauth
1a2c8175d4
printf: Use f64::abs
2025-09-21 06:52:59 +00:00
Josh Megnauth
728fb55203
Add %m to printf & fix CI
...
%m is a format specifier that prints an error string for errno. The
specifier is technically only for syslog, but musl and glibc implement
it for printf itself. Parsing for a single specifier in a single
function is error prone, especially when syslog itself is variadic.
2025-08-06 02:38:47 -04:00
Bendeguz Pisch
4fc80ea7b0
Implement syslog functionality
2025-07-17 22:49:51 -06:00
Jeremy Soller
bb105d41ad
scanf: fix parsing 0 when using %i
2025-05-03 21:15:58 -06:00
Jeremy Soller
121e733990
Merge branch 'fix_arm64' into 'master'
...
Fix building for arm64
See merge request redox-os/relibc!636
2025-03-30 16:26:41 +00:00
bjorn3
8650ac293e
Fix building on targets with unsigned c_char
2025-03-30 16:35:29 +02:00
GrayJack
c7d94ae4d7
feat(c23): Implement %b and %B format
2025-03-22 20:15:56 -03:00
GrayJack
0a1ea4d57e
docs: Add documentation of the printf format
2025-03-20 19:46:46 -03:00
Josh Megnauth
51c04d2470
Use C string literals & deprecate c_str!
2025-03-14 21:17:53 -04:00
Josh Megnauth
d63f0249e2
fix: cbindgen emits wrong vsscanf signature
...
`cbindgen` emits `...` instead of `va_list` when the final parameter is
named `__valist`.
2025-02-22 00:19:51 -05:00
Jeremy Soller
01d7f7b44a
Fixup last commit
2025-01-09 10:22:28 -07:00
Jeremy Soller
431d55aa24
Add setlinebuf
2025-01-09 10:21:17 -07:00
Ron Williams
9df3708a1a
fix popen, improve tests
2024-12-26 17:14:15 -08:00
Anhad Singh
c286ad2868
fix(ld.so): do not depend on TLS at all
...
In the next big refactor (next PR), all of the platform functionality
used by both relibc and ld.so will be moved into a `platform`/`sysdeps`
crate and then ld.so would be moved out of relibc and not link with it.
I think doing it in a seperate PR would make it more managable, as when
I did half of it, the diff was pretty huge and that way it would be
easier to review too :)
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-05 23:11:59 +11:00
Josh Megnauth
5348273ccc
Emit C attributes via cbindgen
2024-11-17 16:15:07 +00:00
Josh Megnauth
6f5794f636
fix(stdio): perror should be allowed to take NULL prefixes as per spec
2024-10-29 12:27:22 +00:00
4lDO2
313b32c815
Switch almost all of Pal to Rusty error handling.
2024-09-27 10:19:44 +02:00
4lDO2
4b687c25d2
Convert more Pal methods to Result.
2024-09-26 16:24:01 +02:00
4lDO2
6e5959b3fa
Convert a bunch of c_int to Result<(), Errno>.
2024-09-26 16:21:34 +02:00
Jeremy Soller
a38638542d
Merge branch 'ctermid' into 'master'
...
Implement ctermid()
See merge request redox-os/relibc!490
2024-08-01 18:42:29 +00:00
Agoston Szepessy
cdf5c70d5b
Implement ctermid()
2024-07-25 11:32:26 +02:00
Agoston Szepessy
bb1e8fe8d7
Implement dprintf and vdprintf
2024-07-23 22:15:53 +02:00
Peter Limkilde Svendsen
a7137512fa
Use standard casing and mangling for internal errno
2024-03-01 00:25:42 +00:00
Peter Limkilde Svendsen
9093f6bc47
Use Cell representation for errno
2024-02-29 14:07:40 +00:00
4lDO2
5630b6e0df
Make relibc (except libm) pure Rust
2024-01-11 13:08:06 +00:00
Arthur Paulino
d4eddbf42e
Refactor: inline core_io
...
* Extract the minimal set of definitions from `core_io` to `relibc` itself
* Remove dependency on `core_io`
2023-12-24 17:06:27 -03:00
4lDO2
75d1c67ca2
Switch to a lightweight CStr wrapper
2023-11-04 18:29:38 +00:00
Florian Meißner
b65cd4e511
getline, getdelim: fix issues, extend tests
2023-10-20 14:34:06 +00:00
Noa
df6f4678e8
Fix warnings
2023-05-30 13:46:17 -05:00
4lDO2
cdd0f67b23
Rustfmt.
2023-05-17 15:28:10 +02:00
David Carlier
bae8bb68df
lockf implementation proposal
2023-05-16 23:40:40 +01:00
Jeremy Soller
e1ecdbd8a5
Implement vfwprintf
2023-05-11 07:48:49 -06:00
David Carlier
637dd22d3d
stdio: implements legacy cuserid proposal.
2023-04-05 22:17:09 +01:00
Jeremy Soller
cc0ac982c4
Implement __fpurge
2023-03-10 08:37:54 -07:00