mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-22 21:32:31 +00:00
Greatly expand system() shell code features
The cosmopolitan command interpreter now has 13 builtin commands, variable support, support for ; / && / || syntax, asynchronous support, and plenty of unit tests with bug fixes. This change fixes a bug in posix_spawn() with null envp arg. strace logging now uses atomic writes for scatter functions. Breaking change renaming GetCpuCount() to _getcpucount(). TurfWar is now updated to use the new token bucket algorithm. WIN32 affinity masks now inherit across fork() and execve().
This commit is contained in:
parent
e7329b7cba
commit
b41f91c658
80 changed files with 1370 additions and 344 deletions
|
@ -558,6 +558,20 @@ TEST(strtoul, testoverflow) {
|
|||
ASSERT_STREQ("", e);
|
||||
}
|
||||
|
||||
TEST(strtol, invalidHex_consistentWithBsd) {
|
||||
char *c = 0;
|
||||
long x = strtol("0xz", &c, 16);
|
||||
ASSERT_EQ(0, x);
|
||||
ASSERT_STREQ("z", c);
|
||||
}
|
||||
|
||||
TEST(strtol, invalidHex_consistentWithBsd2) {
|
||||
char *c = 0;
|
||||
long x = strtol("0xez", &c, 16);
|
||||
ASSERT_EQ(0xe, x);
|
||||
ASSERT_STREQ("z", c);
|
||||
}
|
||||
|
||||
BENCH(atoi, bench) {
|
||||
EZBENCH2("atoi 10⁸", donothing, EXPROPRIATE(atoi(VEIL("r", "100000000"))));
|
||||
EZBENCH2("strtol 10⁸", donothing,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue