mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-12 05:59:10 +00:00
Add chibicc
This program popped up on Hacker News recently. It's the only modern compiler I've ever seen that doesn't have dependencies and is easily modified. So I added all of the missing GNU extensions I like to use which means it might be possible soon to build on non-Linux and have third party not vendor gcc binaries.
This commit is contained in:
parent
e44a0cf6f8
commit
8da931a7f6
298 changed files with 19493 additions and 11950 deletions
|
@ -19,14 +19,16 @@
|
|||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/str/str.h"
|
||||
|
||||
#undef char
|
||||
#undef endswith
|
||||
#undef strlen
|
||||
#undef strnlen
|
||||
|
||||
#define char char16_t
|
||||
#define endswith endswith16
|
||||
#define strlen strlen16
|
||||
#define strnlen strnlen16
|
||||
|
||||
#include "libc/str/endswith.c"
|
||||
/**
|
||||
* Returns true if s has suffix.
|
||||
*
|
||||
* @param s is a NUL-terminated string
|
||||
* @param suffix is also NUL-terminated
|
||||
*/
|
||||
bool endswith16(const char16_t *s, const char16_t *suffix) {
|
||||
size_t n, m;
|
||||
n = strlen16(s);
|
||||
m = strlen16(suffix);
|
||||
if (m > n) return false;
|
||||
return memcmp(s + n - m, suffix, m * sizeof(char16_t)) == 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue