Josh Megnauth
85c5e889fb
Implement fchmodat
...
Capability based `fchmod`. I also implemented unit tests for chmod,
fchmod, and fchmodat.
The unit tests check Redox-specific behavior, so some of the tests are
disabled for Linux.
2025-09-21 10:04:11 -04:00
Josh Megnauth
c555503a35
Implement readlinkat
...
Like readlink except capability based. Most of this patch is refactoring
fstatat into a reusable, openat-like private function.
2025-09-18 01:27:55 +00:00
Josh Megnauth
c6a9a165ec
Implement fdopendir and fdclosedir
...
`fdopendir` takes ownership of a directory file descriptor instead of
opening one with a path. `fdclosedir` is a FreeBSD extension that
transfers ownership of the file descriptor in DIR to the user.
2025-09-17 08:24:48 -04:00
Josh Megnauth
639e0f2cd7
Add lstat test
2025-09-05 23:59:36 -04:00
Josh Megnauth
c899feb774
Implement fstatat
...
Linux's variant uses the syscall as intended. Redox's variant uses fpath
to build a path to pass to fstat from the file descriptor plus the file
name. Unlike the syscall, this isn't atomic so the liminal space between
fpath/getcwd and fstat is subject to TOCTOU.
Beyond fstatat, I moved the stat test to its correct location and added
an assert since the output of the test is unchecked.
I also added AT_FDCWD which seems to be -100 across Unixes. The other
AT_* constants are unimplemented for now.
2025-08-27 08:21:41 -04:00
Josh Megnauth
9d2f5d95dc
Implement confstr (unistd.h)
...
The implementation for confstr is straightforward. Most of the constants
return 1 on both musl and glibc. The only constant that doesn't is
required for Fish.
I also switched an #[unsafe(no_mangle)] from my last patch back
to a #[no_mangle] because we need to bump cbindgen. #[unsafe(no_mangle)]
is required for Rust 2024.
2025-08-22 22:13:51 -04:00
Josh Megnauth
c3c9e3f619
Add termios constant for VDISABLE
...
_POSIX_VDISABLE is an extension that disables terminal special
characters.
See:
* redox-os/termios!3
* redox-os/base!27
2025-08-14 01:57:24 -04: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
Josh Megnauth
292a4b18a9
Move syslog tests to correct location
2025-08-04 22:20:17 -04:00
Josh Megnauth
e677ad55d5
Better priorities & LOG_UPTO for syslog.h
...
* Fix PERROR to match musl/glibc better
* More unit tests + enabled on Linux
* Pack priority and facility into one i32 and check the bits with
bitflags
* Add LOG_UPTO (logic is straight from musl)
Not done:
* "%m" - this could just be added to printf
* LOG_CONS
2025-08-01 23:45:26 -04:00
Ron Williams
770dc71816
Fix CI, Add signal.h constants
2025-07-11 20:28:45 -06:00
Jeremy Soller
a2e040ce4d
Merge branch 'strto-detect-endptr' into 'master'
...
Fix strtol/ul endptr with detected base
See merge request redox-os/relibc!656
2025-05-02 10:36:05 -06:00
Arne de Bruijn
de3dd54266
Fix strtol/ul endptr with detected base
...
The "0" or "0x" characters with base 0 were not accounted for in the
returned endptr value.
2025-05-02 12:18:34 +02:00
Josh Megnauth
a4826bd48c
Implement BSD's err.h
2025-04-18 12:34:45 +00:00
Darley Barreto
26573d02d1
Time improvements
2025-03-29 19:29:20 +00:00
Josh Megnauth
e827b4f61f
Add strptime tests
2025-03-29 14:01:29 +00:00
GrayJack
c7d94ae4d7
feat(c23): Implement %b and %B format
2025-03-22 20:15:56 -03:00
Josh Megnauth
ccc1b7f560
strftime: ISO-8601 leap weeks
2025-03-20 02:34:26 -04:00
Darley Barreto
dda7142385
Few improvements to time.h
2025-02-26 23:58:57 +00:00
Peter Limkilde Svendsen
b3f36faf87
Add pvalloc()
2025-02-11 21:13:51 +01:00
Jeremy Soller
25b0da4876
Merge branch 'sigsetjmp_x64_implementation' into 'master'
...
Implement sigsetjmp and siglongjmp for X64
See merge request redox-os/relibc!478
2025-01-04 00:29:19 +00:00
Bendeguz Pisch
35a3efd936
Implement sigsetjmp and siglongjmp for X64
2025-01-04 00:29:19 +00:00
Darley Barreto
c14b2cee4c
Adding tzset, timezone awareness, and some tweaks
2025-01-02 20:19:34 +00:00
Jeremy Soller
f08952b1b0
Merge branch 'patch5' into 'master'
...
feat: rwlock
Closes #196
See merge request redox-os/relibc!594
2024-12-30 17:17:05 +00:00
Anhad Singh
4232858b89
misc(tests/ptrace): update expected
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-31 00:54:58 +11:00
Ron Williams
a4ca5b4e85
fix popen tests
2024-12-28 16:34:27 -08:00
Darley Barreto
ae5a5256b4
Add missing functions to string.h
2024-12-28 22:46:45 +00:00
Ron Williams
9df3708a1a
fix popen, improve tests
2024-12-26 17:14:15 -08:00
Anhad Singh
1db68ab978
feat(ld.so): scopes
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-24 20:51:53 +11:00
Peter Limkilde Svendsen
93b6374d1e
Reimplement memcpy() using slices, fix unaligned read/write, add test
2024-12-23 19:14:44 +00:00
bitstr0m
5d6ae507e1
Implement glob.h
2024-12-12 15:17:16 +00:00
Anhad Singh
e8e6b8cbc5
fix(expected): dynamic bins
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-11-26 19:51:06 +11:00
Anhad Singh
6020c54ce7
chore(test): add expected outputs for dynamic tests
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-11-25 16:16:07 +11:00
Jeremy Soller
2c73cc947c
Merge branch 'memmem' into 'master'
...
Implement memmem()
See merge request redox-os/relibc!560
2024-11-17 16:18:15 +00:00
Peter Limkilde Svendsen
6a765ed88f
Implement memmem()
2024-11-17 16:18:14 +00:00
Jeremy Soller
09bcfd0711
Merge branch 'errno-const-macros' into 'master'
...
Test errno constant macros, make ENOTSUP available in Rust
See merge request redox-os/relibc!556
2024-11-17 16:16:47 +00:00
Peter Limkilde Svendsen
42011f28d8
Test errno constant macros, make ENOTSUP available in Rust
2024-11-17 16:16:47 +00:00
Jeremy Soller
caac784caa
Merge branch 'iso646' into 'master'
...
Add iso646.h and corresponding tests
See merge request redox-os/relibc!555
2024-11-17 16:16:11 +00:00
Josh Megnauth
5348273ccc
Emit C attributes via cbindgen
2024-11-17 16:15:07 +00:00
Peter Limkilde Svendsen
56d05e2cdc
Add iso646.h and corresponding tests
2024-11-10 16:19:15 +01:00
Peter Limkilde Svendsen
41264dc8b1
Add NulTerminatedInclusive iterator, rewrite/fix strchr/wcschr
2024-10-22 22:12:24 +00:00
4lDO2
07af4e49f7
Add sigaltstack test.
2024-09-28 16:51:17 +02:00
Arnold Loubriat
9e20c351d8
Add endian.h
2024-09-04 00:50:30 +02:00
Jeremy Soller
455d7323e9
Merge branch 'swscanf_works' into 'master'
...
swscanf and vswscanf implementation proposal
See merge request redox-os/relibc!472
2024-08-01 18:41:14 +00:00
Nicolás Antinori
198c5502b7
swscanf and vswscanf implementation proposal
2024-08-01 18:41:14 +00:00
Agoston Szepessy
bb1e8fe8d7
Implement dprintf and vdprintf
2024-07-23 22:15:53 +02:00
Peter Limkilde Svendsen
a91a4082c4
Add tests for unistd.h constants
2024-03-27 12:21:14 +00:00
Darley Barreto
55dc2019f2
Add Crypt functions
2024-03-01 00:23:42 +00:00
Darley Barreto
9d8094baee
Add forkpty, ptsname and posix_openpt
2024-01-17 03:05:50 +00:00
Abdullah Emad
0caf011122
Implement mknod and mknodat
2024-01-03 16:43:28 +00:00