Commit Graph

93 Commits

Author SHA1 Message Date
auronandace 7d1582a555 add unused_imports lint 2026-02-10 15:55:32 +00:00
auronandace c3f3e051e1 add unused-unsafe lint 2026-02-08 15:39:48 +00:00
auronandace 130231d6b4 add irrefutable_let_patterns lint 2026-02-07 16:50:19 +00:00
auronandace e69d399654 remove duplicate constant 2026-02-01 08:37:48 +00:00
auronandace b027b77dbf widen unsafe blocks to fix tzset test 2026-01-28 20:56:29 +00:00
sourceturner defd2ce7c3 Deny deny-unsafe_op_in_unsafe_fn on the crate level 2026-01-21 00:41:57 +01:00
sourceturner 2cf1a2d16a Use unsafe blocks in time.h implementation 2026-01-18 21:22:57 +01:00
Wildan M 9789af36f0 Put timespec convert into common fn 2026-01-07 00:07:50 +07:00
Wildan M fab87ae2d8 Fix i586 compilation and add more checks 2026-01-06 15:56:57 +07:00
Wildan M 242ed32b42 Implement pthread_cond_timedwait futex properly 2026-01-06 15:33:58 +07:00
auronandace 911c36ecd3 time and utime header cleanup 2025-12-31 15:54:25 +00:00
Jeremy Soller 3765148270 Fix incompatible functions 2025-12-19 12:55:43 -07:00
Wildan M e2f8eb43a6 Reduce logs on openlibm and warning on time.h 2025-12-19 15:06:20 +07:00
Anhad Singh eb4ce618e2 fix(header/time): define TIME_UTC
Workaround for a bug inside `cbindgen`. For some reason it does not like
us exporting constants that depend on other constants that are *not*
defined as a part of the same module.
2025-12-09 01:13:22 +11:00
auronandace 27bd869119 mark timespec_get and timespec_getres as unsafe and annotate no mangle 2025-12-07 21:07:49 +00:00
Josh Megnauth 4538fdb0c9 Implement timespec_get and timespec_getres
`timespec_get` and `timespec_getres` are both C23 functions. They're
similar to the POSIX functions `clock_gettime` and `clock_getres`, but
both sets of functions define extra, exclusive features. I didn't
implement the extra features yet, partially because Redox doesn't seem
to support them yet either.
2025-12-04 20:38:35 +00:00
Wildan M c8fce67873 Support SIGEV_SIGNAL and TIMER_ABSTIME 2025-10-16 22:37:24 +07:00
Wildan Mubarok 2efcd20fbc Implement POSIX timer functions 2025-10-15 08:10:06 -06:00
Jeremy Soller 82084440ad Support nightly-2025-10-03 2025-10-03 21:51:10 -06:00
Jacob Lorentzon 9c5f11fbc8 Add Out<T> wrapper 2025-09-21 14:36:12 +02: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
Darley Barreto 26573d02d1 Time improvements 2025-03-29 19:29:20 +00:00
Josh Megnauth ccc1b7f560 strftime: ISO-8601 leap weeks 2025-03-20 02:34:26 -04: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
Darley Barreto dda7142385 Few improvements to time.h 2025-02-26 23:58:57 +00:00
Peter Limkilde Svendsen a98fe90498 Fix clock_getcpuclockid() parameter type 2025-02-03 21:50:51 +01:00
Peter Limkilde Svendsen 0f0bc8fc5e Formatting 2025-02-02 22:42:05 +01:00
Peter Limkilde Svendsen 3f88c9042d Add missing function stubs 2025-02-02 22:41:45 +01:00
Peter Limkilde Svendsen b0c6991f57 Reorder alphabetically 2025-02-02 22:28:32 +01:00
Peter Limkilde Svendsen ef6b64a7c2 Doc and pub use for strptime 2025-02-02 22:22:39 +01:00
Peter Limkilde Svendsen ee4f346ef0 Add docs and deprecations for time.h 2025-02-02 22:19:57 +01:00
Guillaume Gielly b5b5bd2522 Support building with #![deny(unsafe_op_in_unsafe_fn)] 2025-01-05 23:02:04 +01:00
Guillaume Gielly cf106906b5 Code cleanup 2025-01-05 22:30:35 +01:00
Guillaume Gielly ffd5edd283 Add strptime() module and clean up unused strptime function 2025-01-05 20:10:50 +01:00
Guillaume Gielly ba225e2000 Refactor strftime() to use langinfo constants for locale-based formatting :
- replaced hardcoded day and month names with calls to nl_langinfo,
- integrated langinfo constants  DAY_1, ABDAY_1, MON_1, ABMON_1) for weekday and month names,
- used AM_STR and PM_STR for AM/PM strings in %p and %P specifiers,
- add comments.
2025-01-05 19:45:29 +01:00
Darley Barreto c14b2cee4c Adding tzset, timezone awareness, and some tweaks 2025-01-02 20:19:34 +00:00
Josh Megnauth 5348273ccc Emit C attributes via cbindgen 2024-11-17 16:15:07 +00:00
4lDO2 313b32c815 Switch almost all of Pal to Rusty error handling. 2024-09-27 10:19:44 +02:00
4lDO2 6e5959b3fa Convert a bunch of c_int to Result<(), Errno>. 2024-09-26 16:21:34 +02:00
4lDO2 c0e7af5289 Backwards-compatibly rewrite getdents to use special syscall. 2024-09-11 23:32:19 +02:00
Peter Limkilde Svendsen 17076f37b9 Refactor mktime, timegm and fix wcpncpy test 2024-08-01 18:42:01 +00: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 cdd0f67b23 Rustfmt. 2023-05-17 15:28:10 +02:00
Jeremy Soller 64849c7d59 Fix types for 32-bit systems 2023-05-11 11:44:24 -06:00
Jeremy Soller 848fde933b Merge branch 'remove_pthreads_emb' into 'master'
Replace pthreads-emb with a native implementation

See merge request redox-os/relibc!380
2023-05-11 13:56:11 +00:00
David Carlier 2db85f9a3f clock_getres/clock_settime additions 2023-05-08 18:52:05 +01:00
Ron Williams 95e9162d22 change tzname to be mut 2023-05-06 13:20:30 -07:00
4lDO2 cf34e2512e Move condvar impl to a mostly-safe module. 2023-05-06 17:02:51 +02:00
Ron Williams c3f3da6958 fix tzset cbindgen declarations 2023-05-06 02:55:36 -07:00