Commit Graph

102 Commits

Author SHA1 Message Date
Jeremy Soller d818a8d10e Add pwrite 2018-11-25 14:38:12 -07:00
Jeremy Soller 8a042a220d Implement pread, add more poll constants 2018-11-25 14:34:18 -07:00
Jeremy Soller 869eb160bd Add poll 2018-11-25 13:04:38 -07:00
Jeremy Soller 7398fae8b6 Re-add removed comments 2018-11-25 11:01:19 -07:00
Jeremy Soller 0ac16556bc Format 2018-11-25 10:34:42 -07:00
Jeremy Soller a5279b648f Fix warnings 2018-11-25 10:34:02 -07:00
Jeremy Soller 52493a1ec3 Add popen/pclose 2018-11-25 10:33:50 -07:00
Jeremy Soller de43271204 Merge branch 'uname' into 'master'
Implement uname for Redox

See merge request redox-os/relibc!178
2018-11-25 15:25:48 +00:00
Jeremy Soller 3cc215caeb Add freading, fwriting, and stdio_ext.h header 2018-11-22 19:24:48 -07:00
Jeremy Soller b4f36bce17 Add more stdio_ext functions 2018-11-22 19:09:46 -07:00
Jeremy Soller 632f9f18e5 fpending 2018-11-22 18:43:45 -07:00
Jeremy Soller 9b0c74b935 Fix ioctl being defined on redox, add cxa_atexit for gcc 2018-11-18 10:35:33 -07:00
Tibor Nagy 012a9b2eb3 Implement uname for Redox 2018-11-18 18:23:47 +01:00
jD91mZM2 1c92751a73 Don't rely on integer wrapping in ctype
Don't rely on integer wrapping in ctype and fix strcasecmp on
non-alphabetic characters
2018-11-17 20:26:43 +01:00
Jeremy Soller e32fc12308 Weak linkage for getopt and fnmatch 2018-11-17 08:40:39 -07:00
Jeremy Soller c6f2b30738 Add netdb bits to include hostent.h_addr 2018-11-17 08:16:37 -07:00
Jeremy Soller 8c5b237963 Rename intmaxdiv_t to imaxdiv_t to match standard 2018-11-17 07:40:30 -07:00
Jeremy Soller e7f7c4ea61 Fix incorrect nul 2018-11-16 21:32:03 -07:00
Jeremy Soller a6642bc753 Fix missing separator 2018-11-16 21:16:08 -07:00
Jeremy Soller a29aa9f599 Add execvp 2018-11-16 21:07:24 -07:00
Jeremy Soller dd65d0c0c8 Fix missing nul 2018-11-16 20:37:37 -07:00
Jeremy Soller 861602bbcc Add umask 2018-11-16 19:49:47 -07:00
jD91mZM2 0684fb6e4c Bump posix-regex version 2018-11-14 20:52:12 +01:00
jD91mZM2 d252838496 Re-use posix-regex matcher in fnmatch 2018-11-14 14:19:48 +01:00
Jeremy Soller ebffc977b2 Reduce warnings 2018-11-10 07:52:45 -07:00
Jeremy Soller 39b999ccea Update to new rust-toolchain 2018-11-07 20:25:21 -07:00
Michal Z 0396460c84 Fix include guards in regex and utime
The include_guard in both regex and utime was "_TEMPLATE_H", this meant that including both wasn't possible.
Their header guards should be consistent with the header files as well.
Changed _TEMPLATE_H to _REGEX_H and _UTIME_H in /regex/cbindgen.toml and /utime/cbindgen.toml respectively.
2018-11-06 11:27:11 +01:00
Michal Z a7b71a311d Implement libgen.h
Implemented the following calls according to http://pubs.opengroup.org/onlinepubs/7908799/xsh/libgen.h.html
- char* basename(char*)
- char* dirname(char*)

Added test suit for the implemented calls.

Issue: https://gitlab.redox-os.org/redox-os/relibc/issues/134
2018-11-05 17:49:14 +01:00
jD91mZM2 571b4d4976 Fix getdents on redox 2018-11-01 10:58:01 +01:00
Tibor Nagy f97f93c48d Handle getopt reinitialization 2018-10-28 19:59:08 +01:00
jD91mZM2 bfa068df88 Fix strcasecmp return value 2018-10-17 21:26:16 +02:00
Jeremy Soller 3c2121d4e0 Do not require prefix for hex 2018-10-16 18:03:21 -06:00
jD91mZM2 75c5c04bee Implement a proper mutex type for future usage 2018-10-15 15:24:14 +02:00
jD91mZM2 23fe526c55 Fix feof and ferror 2018-10-14 15:57:42 +02:00
jD91mZM2 057d23908a Merge branch 'bugfix/netdb-gethostent' into 'master'
Don't drop the host aliases pointer vector in `gethostent`

Closes #130

See merge request redox-os/relibc!170
2018-10-13 15:02:23 +00:00
jD91mZM2 edb95246d4 Fix bug in strncasecmp 2018-10-13 16:55:21 +02:00
jD91mZM2 63882684b2 Implement almost all of printf 2018-10-13 14:20:54 +02:00
Benedikt Rascher-Friesenhausen 49259d3f01 Don't drop the host aliases pointer vector in gethostent
There are pointers to this vector in `HOST_ENTRY` so we must keep it around for
as long as `HOST_ENTRY` exists.
2018-10-11 20:59:54 +02:00
jD91mZM2 1f3154b45c Invoke constructors and destructors
Huge thanks to @xtibor for both discovering that this was still an issue, and also providing information with how to fix it
2018-10-11 16:59:49 +02:00
jD91mZM2 f516ff72d8 Merge branch 'regoff_t' into 'master'
Move regoff_t to regex.h

See merge request redox-os/relibc!168
2018-10-09 14:49:53 +00:00
jD91mZM2 0469c0c2c6 Add tests for memcmp and fix a teeny tiny bug 2018-10-09 16:47:57 +02:00
Tibor Nagy 0f5fa8c9d4 Move regoff_t to regex.h 2018-10-09 16:43:34 +02:00
jD91mZM2 3f4fbf9084 Merge branch 'feature/optimise-memcmp' into 'master'
Optimise `memcmp` for speed

See merge request redox-os/relibc!167
2018-10-09 14:20:06 +00:00
Benedikt Rascher-Friesenhausen 8e2b7c11b4 Replace i32 with c_int in memcmp
As per the comments from jD91mZM2 on the merge request.
2018-10-07 17:40:30 +02:00
jD91mZM2 fba3bf5161 Merge branch 'assert' into 'master'
Make assert more hygienic

See merge request redox-os/relibc!166
2018-10-07 12:50:56 +00:00
jD91mZM2 758f681590 Implement scandir 2018-10-07 14:43:54 +02:00
jD91mZM2 3c8cb95b80 Cleanup strcasecmp 2018-10-07 13:02:05 +02:00
jD91mZM2 418a960f3b Implement realpath 2018-10-07 10:32:51 +02:00
Benedikt Rascher-Friesenhausen e10a346356 Optimise memcmp for speed
I saw that in other parts of the `string` module iterations over `usize` were
used to increase iteration speed.  In this patch I apply the same logic to
`memcmp`.  With this change I measured a 7x speedup for `memcmp` on a ~1MB
buffer (comparing two buffers with the same content) on my machine (i7-7500U),
but I did not do any real world benchmarking for the change.  The increase in
speed comes with the tradeoff of both increased complexity and larger generated
assembly code for the function.

I tested the correctness of the implementation by generating two randomly filled
buffers and comparing the `memcmp` result of the old implementation against this
new one.

I ran the tests and currently currently three of them fail:
  - netdb (fails to run)
  - stdio/rename (fails to verify)
  - unistd/pipe (fails to verify)

They do so though regardless of this change, so I don't think they are related.
2018-10-07 10:25:19 +02:00
jD91mZM2 26d629674a Implement strcasestr 2018-10-06 17:37:50 +02:00