mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-27 21:10:29 +00:00
Brush up some more code
This commit is contained in:
parent
ee6566a152
commit
a2d269dc38
32 changed files with 251 additions and 335 deletions
|
@ -39,7 +39,7 @@ uint32_t crc32c(uint32_t init, const void *data, size_t size) {
|
|||
static uint32_t kCrc32cTab[256];
|
||||
if (!once) {
|
||||
crc32init(kCrc32cTab, 0x82f63b78);
|
||||
once = 0;
|
||||
once = 1;
|
||||
}
|
||||
p = data;
|
||||
pe = p + size;
|
||||
|
|
|
@ -399,7 +399,7 @@ int iswseparator(wint_t c) {
|
|||
l = 0;
|
||||
r = n = sizeof(kCodes) / sizeof(kCodes[0]);
|
||||
while (l < r) {
|
||||
m = (l + r) >> 1;
|
||||
m = (l & r) + ((l ^ r) >> 1); // floor((a+b)/2)
|
||||
if (kCodes[m][1] < c) {
|
||||
l = m + 1;
|
||||
} else {
|
||||
|
@ -411,7 +411,7 @@ int iswseparator(wint_t c) {
|
|||
l = 0;
|
||||
r = n = sizeof(kAstralCodes) / sizeof(kAstralCodes[0]);
|
||||
while (l < r) {
|
||||
m = (l + r) >> 1;
|
||||
m = (l & r) + ((l ^ r) >> 1); // floor((a+b)/2)
|
||||
if (kAstralCodes[m][1] < c) {
|
||||
l = m + 1;
|
||||
} else {
|
||||
|
|
|
@ -24,39 +24,6 @@
|
|||
* 1. If SRC is too long, it's truncated and *not* NUL-terminated.
|
||||
* 2. If SRC is too short, the remainder is zero-filled.
|
||||
*
|
||||
* Please note this function isn't designed to prevent untrustworthy
|
||||
* data from modifying memory without authorization; the memccpy()
|
||||
* function can be used for that purpose.
|
||||
*
|
||||
* Here's an example of the only use case we know of for strncpy:
|
||||
*
|
||||
* static const struct People {
|
||||
* char name[8];
|
||||
* int age;
|
||||
* } kPeople[] = {
|
||||
* {"alice", 29}, //
|
||||
* {"bob", 42}, //
|
||||
* };
|
||||
*
|
||||
* int GetAge(const char *name) {
|
||||
* char k[8];
|
||||
* int m, l, r;
|
||||
* l = 0;
|
||||
* r = ARRAYLEN(kPeople) - 1;
|
||||
* strncpy(k, name, 8);
|
||||
* while (l <= r) {
|
||||
* m = (l + r) >> 1;
|
||||
* if (READ64BE(kPeople[m].name) < READ64BE(k)) {
|
||||
* l = m + 1;
|
||||
* } else if (READ64BE(kPeople[m].name) > READ64BE(k)) {
|
||||
* r = m - 1;
|
||||
* } else {
|
||||
* return kPeople[m].age;
|
||||
* }
|
||||
* }
|
||||
* return -1;
|
||||
* }
|
||||
*
|
||||
* @return dest
|
||||
* @see stpncpy(), memccpy()
|
||||
* @asyncsignalsafe
|
||||
|
|
|
@ -201,7 +201,7 @@ wint_t towlower(wint_t c) {
|
|||
l = 0;
|
||||
r = n = sizeof(kLower) / sizeof(kLower[0]);
|
||||
while (l < r) {
|
||||
m = (l + r) >> 1;
|
||||
m = (l & r) + ((l ^ r) >> 1); // floor((a+b)/2)
|
||||
if (kLower[m].y < c) {
|
||||
l = m + 1;
|
||||
} else {
|
||||
|
@ -218,7 +218,7 @@ wint_t towlower(wint_t c) {
|
|||
l = 0;
|
||||
r = n = sizeof(kAstralLower) / sizeof(kAstralLower[0]);
|
||||
while (l < r) {
|
||||
m = (l + r) >> 1;
|
||||
m = (l & r) + ((l ^ r) >> 1); // floor((a+b)/2)
|
||||
if (kAstralLower[m][1] < c) {
|
||||
l = m + 1;
|
||||
} else {
|
||||
|
|
|
@ -164,7 +164,7 @@ wint_t towupper(wint_t c) {
|
|||
l = 0;
|
||||
r = n = sizeof(kUpper) / sizeof(kUpper[0]);
|
||||
while (l < r) {
|
||||
m = (l + r) >> 1;
|
||||
m = (l & r) + ((l ^ r) >> 1); // floor((a+b)/2)
|
||||
if (kUpper[m].y < c) {
|
||||
l = m + 1;
|
||||
} else {
|
||||
|
@ -181,7 +181,7 @@ wint_t towupper(wint_t c) {
|
|||
l = 0;
|
||||
r = n = sizeof(kAstralUpper) / sizeof(kAstralUpper[0]);
|
||||
while (l < r) {
|
||||
m = (l + r) >> 1;
|
||||
m = (l & r) + ((l ^ r) >> 1); // floor((a+b)/2)
|
||||
if (kAstralUpper[m][1] < c) {
|
||||
l = m + 1;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue