Commit Graph

905 Commits

Author SHA1 Message Date
Josh Megnauth 1d5179eb71 Const calculate buffer size for strerror
The current buffer size is hard set to 256. Using const evaluation, the
maximum buf size can be calculated at compile time.
2025-07-10 03:18:17 +00:00
Jeremy Soller 5673575354 Revert "Merge branch 'rustifying' into 'master'"
This reverts merge request !663
2025-07-06 12:54:39 -06:00
Jeremy Soller 84bbf90ce1 Fix ___tls_get_addr on x86 2025-07-03 10:52:46 -06:00
David DA SILVA 7fd3a8d698 Rustify some functions (following TODO) 2025-06-25 08:39:01 -06:00
Jeremy Soller be49c1936a Make x86_64 mcontext not opaque 2025-05-13 10:05:32 -06:00
Jeremy Soller ac3eb38c0d Include bits/sys/ioctl.h in sys/ioctl.h 2025-05-13 08:13:49 -06:00
Jeremy Soller b2a6f00429 Use u64 for relibc internal fd set definition, does not affect C definition 2025-05-07 09:25:15 -06:00
Jeremy Soller a31584cdef Fix dangling pointer with empty scandir 2025-05-06 21:28:05 -06:00
Jeremy Soller d194554fdc Temporarily use insertion sort for qsort 2025-05-06 13:52:35 -06:00
Jeremy Soller 38cca8acc0 Fix select macros 2025-05-06 11:34:48 -06:00
Jeremy Soller 70d6a11606 openpty: terminate path with NUL 2025-05-06 09:28:58 -06:00
Jeremy Soller 1e48b13948 Debug recvmsg on redox 2025-05-04 09:32:10 -06:00
Jeremy Soller bb105d41ad scanf: fix parsing 0 when using %i 2025-05-03 21:15:58 -06:00
Jeremy Soller f8da7399d8 Use crates.io posix-regex and support extended regex 2025-05-03 16:31:04 -06:00
Jeremy Soller bce8eac3c7 Move CMSG functions to C macros 2025-05-03 11:21:27 -06:00
Josh Megnauth f85b33c3ed Handle unwraps in get_dns_server() 2025-05-02 23:01:12 -04:00
Jeremy Soller cafdcd35d1 Expose setegid and seteuid 2025-05-02 11:36:51 -06:00
Jeremy Soller 863171105d Move htonl, htons, ntohl, ntohs to netinet/in.h to support more packages 2025-05-02 09:49:37 -06:00
Jeremy Soller 58572ceefc Define _SC_NPROCESSORS_CONF 2025-05-01 14:54:04 -06:00
Ron Williams c779c1d941 Mark setitimer as unimplemented, obsolete 2025-04-21 23:29:35 -07:00
4lDO2 32c5e89c82 Return ID of new session in setsid. 2025-04-20 17:10:51 +02:00
4lDO2 e6c06a7cf7 Fix signals for spawned threads, and async signal waiting. 2025-04-19 19:27:03 +02:00
4lDO2 26c92af7ba Fix SigSet length. 2025-04-19 19:27:01 +02:00
4lDO2 a4dc232a33 Impl getres[ug]id C function. 2025-04-19 19:26:59 +02:00
Josh Megnauth a4826bd48c Implement BSD's err.h 2025-04-18 12:34:45 +00:00
4lDO2 d68f5d8d3d Make redox itimer relibc stub rather than kernel stub. 2025-04-13 18:18:05 +02:00
bjorn3 ea4c41686c Rustfmt 2025-04-12 22:15:05 +02:00
Jeremy Soller ed575e9259 Implement sigsetjmp on all archs 2025-04-11 20:18:27 -06:00
Jeremy Soller 72d2b1137c Implement quick_exit and at_quick_exit 2025-04-11 18:09:44 -06:00
Jeremy Soller d9a28156ce Disable at_quick_exit 2025-04-11 16:25:12 -06:00
Jeremy Soller 27f3924126 Fix msg_controllen and cmsg_len types 2025-04-10 14:52:26 -06:00
Jeremy Soller 5b5be9aae8 Add IPV6_JOIN/LEAVE_GROUP 2025-04-10 14:43:35 -06:00
Jeremy Soller b0be913956 Implement preadv and pwritev 2025-04-10 08:56:06 -06:00
Josh Megnauth 090391d94f fix(strptime): Don't clobber struct tm
Our strptime implementation uses subformatting to handle specifiers that
expand to other specifiers. For example, '%T' expands to "%H:%M%:%S".
Relibc calls strptime again to handle '%T' by expanding it.

However, our strptime zeroes out struct tm which clobbers old values. If
strptime is called with a format string like "%D%t%T", the set values
for '%D' are clobbered.

Zeroing out the struct is extra, unneeded work as well. The user may
want to preserve old values. We don't read from struct tm so we don't
have to worry about invalid values. Finally, `musl` and `glibc` don't
clear the values either so we can default to their behavior.
2025-04-01 23:35:29 -04: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 50766b0469 Fix building on newer nighlies 2025-03-30 16:37:13 +02:00
bjorn3 8650ac293e Fix building on targets with unsigned c_char 2025-03-30 16:35:29 +02:00
Darley Barreto 26573d02d1 Time improvements 2025-03-29 19:29:20 +00:00
Nicolás Antinori 28713e6bf1 Update posix-regex to master branch 2025-03-29 14:02:40 +00:00
GrayJack c7d94ae4d7 feat(c23): Implement %b and %B format 2025-03-22 20:15:56 -03:00
Jeremy Soller 78d7d66839 Merge branch 'strftime-iso-8601' into 'master'
strftime: ISO-8601 leap weeks

See merge request redox-os/relibc!628
2025-03-21 01:53:05 +00:00
GrayJack 0a1ea4d57e docs: Add documentation of the printf format 2025-03-20 19:46:46 -03:00
Josh Megnauth ccc1b7f560 strftime: ISO-8601 leap weeks 2025-03-20 02:34:26 -04:00
Jeremy Soller 5ddf2ad000 Merge branch 'strptime-T-formatter' into 'master'
strptime: Implement %T, minor cleanups

See merge request redox-os/relibc!627
2025-03-18 14:59:39 +00:00
Josh Megnauth 8e6bcb6653 strptime: Implement %T, minor cleanups
* %T is implemented but untested for now (we lack strptime tests)
* I switched some unexported, immutable statics to const as it's a
  better fit
* parse_am_pm() now correctly strips prefixed whitespace AND doesn't
  allocate heap memory
2025-03-18 00:45:50 -04:00
Josh Megnauth 51c04d2470 Use C string literals & deprecate c_str! 2025-03-14 21:17:53 -04:00
Darley Barreto dda7142385 Few improvements to time.h 2025-02-26 23:58:57 +00: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
Peter Limkilde Svendsen 6c94ed589a Mention select() declaration 2025-02-15 00:20:26 +01:00
Peter Limkilde Svendsen b9c4a910dd Reorder alphabetically 2025-02-15 00:18:18 +01:00