Commit Graph

477 Commits

Author SHA1 Message Date
jD91mZM2 ea24699798 Fix undefined behavior
Transmuting from an immutable to a mutable reference is undefined
behavior in Rust, with the exception of UnsafeCell which tells the
optimizer to not draw too many conclusions. Sadly UnsafeCell::get cannot
yet be used in statics (see https://github.com/rust-lang/rust/issues/51718),
so this works around that by making the statics into functions and
making C macros to call those.
2018-06-22 21:17:44 +02:00
jD91mZM2 3034114c14 Fix broken comment 2018-06-22 15:02:34 +02:00
Jeremy Soller ccb74c6efc Merge branch 'master' into 'master'
Add empty locale functions

See merge request redox-os/relibc!135
2018-06-22 12:59:10 +00:00
jD91mZM2 0a3c8abe95 Fix setlocale return value 2018-06-22 14:54:16 +02:00
jD91mZM2 996445a6a3 Add empty locale functions 2018-06-22 14:54:10 +02:00
Jeremy Soller 05f7371e46 Merge branch 'master' into 'master'
Add scanf

See merge request redox-os/relibc!134
2018-06-21 16:58:41 +00:00
jD91mZM2 91221645c5 Add *scanf to header 2018-06-21 18:52:41 +02:00
jD91mZM2 5936c7a76e Add scanf 2018-06-21 17:16:56 +02:00
Jeremy Soller 6f8fff4b1c Merge branch 'sys_wait_macros' into 'master'
sys_wait: implement C macros properly

See merge request redox-os/relibc!133
2018-06-20 18:43:34 +00:00
Jasen Borisov 06a8d5d89d sys_wait: implement C macros properly
Remove the broken Rust functions and instead provide C macros in a
`include/bits` header. The C macros were taken from musl.
2018-06-20 19:40:38 +01:00
Jeremy Soller 895e250564 Add aligned_alloc 2018-06-20 09:53:27 -06:00
Jeremy Soller 9d38494435 Fix missing strtol, strtoul 2018-06-20 09:44:09 -06:00
Jeremy Soller 1b653c4e60 Update ralloc, fix invalid c++ names 2018-06-20 08:48:56 -06:00
Jeremy Soller 009ceec188 Merge branch 'sys_wait_fix' into 'master'
Fix compilation error in `sys_wait`

See merge request redox-os/relibc!132
2018-06-14 20:09:46 +00:00
Jasen Borisov 326078a578 Fix compilation error in sys_wait 2018-06-14 20:15:25 +01:00
Jeremy Soller c5552cbb39 Merge branch 'fix-81' into 'master'
Add `sys_wait` functions (Fixes #81)

Closes #81

See merge request redox-os/relibc!131
2018-06-14 13:45:32 +00:00
stratact 3fa220237d Add sys_wait functions (Fixes #81) 2018-06-14 05:08:55 -07:00
Jeremy Soller a573549df8 Update links to gitlab 2018-06-12 12:30:45 -06:00
Jeremy Soller fd05aca991 Update README.md 2018-05-24 15:00:40 -06:00
Jeremy Soller 1f9f7ce6c8 Merge pull request #127 from stratact/master
Update `platform::rawfile`
2018-05-24 14:36:06 -06:00
stratact 3aa01b6907 Remove pointless cast 2018-05-24 13:27:24 -07:00
stratact a7a415603f Fix stupid mistake 2018-05-24 13:04:58 -07:00
stratact 16c51a297d Use the right C types from platform::types 2018-05-24 12:29:59 -07:00
Jeremy Soller f0227e737e Merge pull request #128 from ids1024/lifetime
Make functions taking raw pointer return &'a instead of &'static
2018-05-24 12:44:19 -06:00
Jeremy Soller aead6d8fd0 Merge pull request #129 from ids1024/cstr
Simplify cstr_from_bytes_with_nul_unchecked()
2018-05-24 12:43:48 -06:00
Ian Douglas Scott 5bcf1d42ff Simplify cstr_from_bytes_with_nul_unchecked()
The original implementation is modified from the `Cstr` method, but the
complexity there exists because it is trying to convert to the DST `Cstr`.
2018-05-24 11:27:35 -07:00
Ian Douglas Scott cbd0d0473c Make functions taking raw pointer return &'a instead of &'static
This is technically more correct, and matches the pointer methods in the
standard library.
2018-05-24 11:13:55 -07:00
stratact b389e4831d Have open() and dup() match -1 for Err instead of 0 2018-05-24 10:33:15 -07:00
stratact 9daae71c2a Use the super module instead of sys 2018-05-23 19:35:28 -07:00
stratact bb9d0e4aa1 Implement RawFile::from_raw_fd() 2018-05-23 13:14:42 -07:00
stratact 285d1b05c4 Implement RawFile::open() and add *_raw_df() convenience methods 2018-05-23 11:05:43 -07:00
stratact 7ca5fac214 Implement RawFile::dup() completely 2018-05-23 08:00:53 -07:00
Jeremy Soller 3311a700e0 Merge pull request #126 from ProgVal/update-ralloc
Update ralloc. Closes GH-83.
2018-05-20 07:27:15 -06:00
Valentin Lorentz 0b6d6549f1 Update ralloc. Closes GH-83. 2018-05-20 14:13:36 +02:00
Jeremy Soller ed12713aa8 Update gitignore for tests 2018-05-15 18:35:29 -06:00
Jeremy Soller c647fdfed3 Merge pull request #116 from matijaskala/patch-1
Add optimized version of memchr
2018-05-15 18:33:31 -06:00
Jeremy Soller 8eec109cc0 Merge pull request #120 from Majora320/master
Implement clock() and add CLOCK_* constants
2018-05-15 18:32:29 -06:00
Jeremy Soller c8d4ea3ee6 Merge pull request #123 from Arcterus/qsort-real
stdlib: implement qsort() as an introsort
2018-05-15 18:31:50 -06:00
Jeremy Soller 4fb4790890 Merge pull request #122 from Arcterus/qsort
Fix a bug in printf()
2018-05-15 18:31:21 -06:00
Matija Skala 9bbb070104 Add optimized version of memchr 2018-05-15 21:06:17 +02:00
Alex Lyon f5ded007c6 stdlib: recurse into the smaller partition when sorting 2018-05-13 16:16:48 -07:00
Alex Lyon 4d3ac1c0dc stdlib: save stack space by looping in introsort_helper() 2018-05-13 03:29:53 -07:00
Alex Lyon b15aa83a8a stdlib: move insertion sort from introsort() into a separate function 2018-05-13 03:15:16 -07:00
Alex Lyon aa21e5fc3f stdlib: implement qsort() as an introsort 2018-05-13 03:07:00 -07:00
Jeremy Soller 6e8e6ad5d2 Merge pull request #121 from Arcterus/strtoul
stdlib: implement strtoul() and strtol() using a macro
2018-05-12 06:24:18 -06:00
Alex Lyon 0cabecd5b5 stdio, string, platform: fix a bug in printf() involving chars
Because we were previously converting the bytes in the format
string into Rust's char type and then printing that using the
format machinery, byte values that were not valid single-byte
UTF-8 characters failed to print correctly.  I found this while
trying to implement qsort() because the output of my test program
was mysteriously incorrect despite it working when I used glibc.
2018-05-11 23:09:12 -07:00
Moses Miller d14d0b5965 Fix various formatting issues 2018-05-11 22:01:51 -07:00
Moses Miller 766e00c69e Implement conversion of nanoseconds to clocks in terms of CLOCKS_PER_SEC 2018-05-11 17:22:01 -07:00
Moses Miller 3d1a66f270 Add CLOCKS_PER_SEC 2018-05-11 16:26:56 -07:00
Moses Miller 9d8758006d Change 1000000 to 1_000_000 2018-05-11 11:41:18 -07:00