Jonas 'Sortie' Termansen
4e46b40b4c
Add support for ' ' and '+' flags to printf.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
a023f2a348
Add alternate flag to printf.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
e70887cf3d
Add endian.h.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
bb1c80f68e
Add byteswap.h.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
7098317c09
Only define the restrict macro if it hasn't already been.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
7b21a9eabd
Always declare usleep(2).
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
d3b9bdb3ba
Provide envp to the main function.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
e8e5f14a5d
Add popen(3) and pclose(3).
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
2d86b7dcf2
Add system(3).
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
6b790a3184
Conditionally calltrace in abort(3).
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
f6371bfcec
Add calltrace(3) function.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
133e5d4410
Make program_invocation_name a macro.
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
03ab6cf26e
Add program_invocation_short_name(3).
2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
b9d633108d
Add wctype(3).
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
05219a27f2
Add mbrtowc(3), mbtowc(3), wcrtomb(3), wctomb(3).
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
e52c6c0966
Add support for * field width in printf and %s field width.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
4f9bbd1717
Add octal and adjusted blank support to printf.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
c25e4a1842
Add creat(3).
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
391d844aca
FILE backend controls return value of fclose.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
06e2025a87
Add support for useless 't' mode in fopen.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ad7690c74
Rewrite stdio functions.
...
These changes aim to make the stdio functions much more stable, flexible,
correct and bugfree.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
8e0aefda20
Add rename(2) and renameat(2).
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ba7f26bf0
Refactor kernel time API and add timespec API.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
b2b55bc34a
Add poll(2) and ppoll(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
e76073cc4f
Add user-space filesystem API.
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
500d853f77
Add removeat(3) and split remove(3) into its own file.
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
deeedf9e5d
Add lchown(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
3b35dad9f7
Add AT_REMOVEFILE flag to unlinkat(2).
...
This allows unlinkat(2) to delete files and directories in the same call,
which is useful for the implementation of remove(3).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
1fa2df3e6a
Replace system calls that accept a path with *at versions.
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
921deb6eeb
Add linkat(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
2ef2269168
Add fchmodat(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
f21462bf18
Add fchmod(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
c1280bedb0
Add fchown(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
cb4569c615
Add fchownat(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
f843e15666
Add truncateat(2).
...
Linux doesn't have this, but since I do truncate(2) in the kernel, it would
be more consistent to do it 'at'-style. (I will remove truncate(2) from the
kernel and let libc call truncateat(2) soon anyway).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
37a4c8f05e
Add fchdir(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
7dd59dd2e0
Add mkdirat(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
caf4a1f2c5
Add faccessat(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
835f0d5fbc
Add unlinkat(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
8e50f3d76b
Add dup2(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
49fe4aa51f
Add link(2).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
2389a834b5
Add chown(3).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
a11439bc87
Add chmod(2).
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
1444683ea8
Refactor kernel VFS.
...
Note: This is an incompatible ABI change.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
bfd013ab10
Fix vfprintf(3) error case.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
d6c1e64628
Fix poor implementation of the strchr(3) family.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
e72b1c0ac1
Fix flushlbf(3) being in a file with the wrong name.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
c109f5165e
Fix fnewfile(3) being in a file with the wrong name.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
59edfdb787
Remove <readparamstring.h>.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
752153d801
Remove vexecl(3), vexecle(3), and vexeclp(3).
...
These functions were non-standard and their use compared to the execv*
family is questionable. Additionally, they would have to repeat much of
the code from the execl* family of functions. In the end, they were removed
because they weren't strictly needed and less bloat is better here. Besides
programs that would use these functions would need to ship their own
versions to be portable.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
dd3662e3d0
Fix prototypes for execl(3), execle(3), and execlp(3).
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
b9eef9ed5d
Fix fopen allowing opening directories for writing.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
6f6d775d47
Fix using NULL environment in vexecle(3).
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
63ad7d64dd
Fix abort(3) not being freestanding.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen
90036ca6a8
Update copyright headers of old files to the current format.
2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen
92b029b07f
Remove tabs from header include guards.
2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen
eb5be61d20
Fix trailing blank lines.
2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen
7eb9e3c33f
Refactor Sortix build system and de-autoconf mxmpp.
2013-12-17 14:30:22 +01:00
Jonas 'Sortie' Termansen
0c7d1486b5
Add PARANOIA level 3 and better malloc/free error reporting.
2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
6afca10c25
Add sigset_t to signal.h.
2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
bf2c624c9b
Add struct timespec.
2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
a6a8a75a0c
Add data types to <time.h> and tm_yday to struct tm.
2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen
9411784b58
Set up initial stack frame as zero pointer.
...
This allows call traces to know when they are done.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
27fda0c0eb
Add ENXIO.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
517025f474
Add EMLINK.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
6c9852c21f
Add ELOOP.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
1e2785b17f
Add ENAMETOOLONG.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
4627031f44
Add ESPIPE.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
7f99ccb36d
Add EXDEV.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
123eabd60a
Add EFBIG.
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
0095983c80
Add dispmsg_issue(2).
2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen
5ebf7a3c88
Set O_CLOEXEC in opendir(3).
2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
2c2fd29585
Make "C" the default locale.
2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
dc4ef04e7c
Add assembly file symbol sizes.
2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
9224f8f43d
Fix wrong malloc include guard.
2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
3abad890ec
Fix non-standard struct flock declaration.
2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen
8d2c585479
Fix getdelim and getline having the wrong external linkage.
2013-09-24 17:09:35 +02:00
Jonas 'Sortie' Termansen
d12c420ca1
Add W* wait constants to stdlib.h.
2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen
54e68a0c51
Fix '\0' support in strchr(3) and strchrnul(3).
2013-09-24 16:52:10 +02:00
Jonas 'Sortie' Termansen
3a35139e6c
Fix fopen(filename, "w") not creating files.
2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
df67725221
Fix fgets(3) handling EOF incorrectly.
2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
6aa4eb3405
Refactor fwrite(3) to remove buffer overflow bug.
2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
d950421358
Implement pread(2) and pwrite(2).
2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
7fc1f0011a
Fix libc compile warnings.
2013-07-09 20:28:55 +02:00
Jonas 'Sortie' Termansen
8318c51819
Allow syscall parameters and return values larger than native words.
...
Note: This is an incompatible ABI change.
2013-07-08 15:47:27 +02:00
Jonas 'Sortie' Termansen
d890488304
Void system calls must now have a return value.
2013-07-07 17:03:01 +02:00
Jonas 'Sortie' Termansen
6a44dcae04
Don't use movs in memcpy as it causes performance loss.
2012-12-15 22:40:56 +01:00
Jonas 'Sortie' Termansen
1b0ddadab3
Optimize memcpy(3).
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
f1bbbe5153
Add strsignal(3).
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
ffab25b0f4
Fix strerror redirecting to wrong function.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
e08c13b344
Add strxfrm(3).
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
0c54bcd6e9
Add memccpy(3).
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
e80f765fbf
Add strndup(3).
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
fd088903dd
Add stpncpy(3).
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
c9b3002e43
Add openat(2).
...
This is a rather hacky implementation.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
be4858f82c
Rename libmaxsi to sortix libc.
2012-12-14 14:13:36 +01:00