Commit Graph

70 Commits

Author SHA1 Message Date
Wildan M 4a7f2d80ff Avoid StringWriter cast and string format 2026-05-20 09:10:25 +07:00
auronandace 4dfbb97a69 import strings header in string for mesa 2026-04-29 09:57:11 +01:00
auronandace b50262b76a verify string header includes 2026-04-27 11:20:59 +01:00
auronandace 55534b9af1 string and strings header cleanup 2026-02-27 14:18:58 +00:00
auronandace 64f18ca89a add unused_mut lint 2026-02-08 09:00:14 +00:00
sourceturner 582e6eba69 Use unsafe blocks in some more unsafe functions
Building with redoxer showed some more places
that have to use unsafe blocks
2026-01-21 00:41:43 +01:00
Connor-GH cedd1686ba string.h: don't pollute the namespace with locale.h
Previously, we included all of `<locale.h>` in order to get `locale_t`.
This commit separates it into a `<bits/locale-t.h>` header (generated by
cbindgen) to better deal with this.
2026-01-20 14:29:08 -06:00
Connor-GH 8544c078eb Fix CI regression caused by 0934bcf1
Previously, the CI was failing to build because it didn't
see `locale_t` inside of `<string.h>`. This commit adds
a hacky fix to this so that CI stops failing.

For now, this pollutes the C namespace by including locale
functions and definitions inside of `<string.h>`. In the
future, we will come up with a mechanism to export `locale_t`
by itself.
2026-01-19 18:19:20 -06:00
Connor-GH 0934bcf13e Implement strxfrm_l, strcoll_l, and strerror_l
These implementations are effectively the same as the ones in musl.
2026-01-19 16:58:54 -06:00
sourceturner f72ecfd8dc Use unsafe blocks in string.h implementation 2026-01-16 21:49:01 +00:00
Jeremy Soller 5265b732cc strtok_r: return the end of s in lasts when finished and only reference musl 2026-01-12 14:56:40 -07:00
Anhad Singh 5f256f91cd fix(string/memcmp): use read_unaligned where alignment is not guaranteed
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-02 00:52:40 +11:00
auronandace 98d90ac580 revert previous 2 changes and add Safety note 2025-12-24 14:32:08 +00:00
auronandace d4d82843de fix type 2025-12-24 12:56:30 +00:00
auronandace 16f1f71acb ensure internal memcpy does not copy past src or dest len 2025-12-24 12:42:28 +00:00
auronandace 4e744c3f55 only import the needed types 2025-12-24 11:05:12 +00:00
auronandace 96da8e5ed4 fix memccpy, copy correct amount of bytes and still copy if c not found 2025-12-24 11:02:15 +00:00
auronandace 0392c0b736 fix strlcat and strlcpy bytes amount 2025-12-17 14:56:59 +00:00
auronandace 6c62e7e401 fix strlcpy and strlcat 2025-12-15 07:58:44 +00:00
Wildan M 036dd3fb73 Avoid panic by unitialized string of strlen 2025-10-09 23:52:45 +07:00
Jeremy Soller 82084440ad Support nightly-2025-10-03 2025-10-03 21:51:10 -06:00
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
bjorn3 8650ac293e Fix building on targets with unsigned c_char 2025-03-30 16:35:29 +02:00
Jeremy Soller 90f30c5f51 Make NulTerminated::new return option 2025-01-09 13:33:56 -07:00
Darley Barreto ae5a5256b4 Add missing functions to string.h 2024-12-28 22:46:45 +00:00
Peter Limkilde Svendsen 93b6374d1e Reimplement memcpy() using slices, fix unaligned read/write, add test 2024-12-23 19:14:44 +00:00
Peter Limkilde Svendsen 2a7d01f02d Add docs for string.h, add missing functions 2024-11-19 00:20:40 +00:00
Peter Limkilde Svendsen 864d5e4795 Use only one .cast_mut() in memmem() 2024-11-17 20:19:52 +01:00
Peter Limkilde Svendsen 6a765ed88f Implement memmem() 2024-11-17 16:18:14 +00:00
Peter Limkilde Svendsen 41264dc8b1 Add NulTerminatedInclusive iterator, rewrite/fix strchr/wcschr 2024-10-22 22:12:24 +00:00
4lDO2 af6435e12d Implement psignal and psiginfo. 2024-09-24 19:34:53 +02:00
Peter Limkilde Svendsen 0a23acd401 Implement iterators on pointers 2024-09-22 23:42:28 +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
Jeremy Soller ab7e3da661 strsignal must return mutable char pointer 2023-09-09 09:22:26 -06:00
David Carlier 637dd22d3d stdio: implements legacy cuserid proposal. 2023-04-05 22:17:09 +01:00
David Carlier 34f2fff983 strlcpy/strlcat api for portability's sake.
those functions differently than the strn* ones as
they do not pad with zero to remaining bytes but guarantees
a null terminator.
2023-03-24 09:44:33 +00:00
jD91mZM2 593925ceb4 Unambiguate all include guards
GNU binutils also uses _FNMATCH_H for a guard, maybe along others!
2020-06-29 11:34:51 +02:00
jD91mZM2 b8c50c7c64 Format 2019-08-04 19:05:45 +02:00
jD91mZM2 c7d499d4f2 Upgrade to the 2018 edition
I didn't think it'd be this useful first, but thank god for `cargo fix --edition`!
2019-08-04 19:05:45 +02:00
Mateusz Mikuła 63a1319e50 Cbindgen update 2019-07-10 10:08:39 +00:00
jD91mZM2 e84ea94dd0 Execute fmt.sh 2019-06-12 14:45:33 +02:00
Jason Hansel a5409ecd36 Fix out-of-bounds error in strsignal 2019-06-10 10:25:59 -04:00
Mateusz Mikuła d62db7b1b9 Add memrchr() 2019-05-11 13:49:46 +02:00
Alex Lyon 5bbce37789 string: add strnlen_s() 2019-04-26 20:36:37 -07:00
Mateusz Mikuła 1ebd8a3d72 Handle zero length for strerror_r 2019-04-24 17:42:28 +02:00
Jeremy Soller 7bde036031 Remove va_list submodule, format 2019-04-21 15:45:55 -06:00
jD91mZM2 6d4ac9dba8 Finally, get rid of all rust warnings
Just a small step along the way to reduce the massive wall of spam
every time you compile.

This was done partly automagically with `cargo fix`. The rest was me
deleting or commenting out a bunch of variables. Hope nothing was
important...
2019-04-21 21:12:16 +02:00
jD91mZM2 3a3fd3da39 Use the memchr crate
https://github.com/BurntSushi/rust-memchr is supposed to be a whole
lot faster :)
2019-04-21 19:09:37 +02:00
jD91mZM2 601cb43f6c Merge branch 'strerror_r' into 'master'
Add POSIX strerror_r

See merge request redox-os/relibc!207
2019-04-21 15:06:17 +00:00