1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 06:07:35 +00:00

printf: Support %zu (the 'z' is really just ignored.)

This commit is contained in:
Andreas Kling 2019-06-22 16:30:32 +02:00
parent 1b6fa30e58
commit 3ed17b0792
3 changed files with 9 additions and 2 deletions

View file

@ -200,6 +200,8 @@ template<typename PutChFunc>
bool zeroPad = false; bool zeroPad = false;
unsigned fieldWidth = 0; unsigned fieldWidth = 0;
unsigned long_qualifiers = 0; unsigned long_qualifiers = 0;
bool size_qualifier = false;
(void)size_qualifier;
bool alternate_form = 0; bool alternate_form = 0;
if (*p == '%' && *(p + 1)) { if (*p == '%' && *(p + 1)) {
one_more: one_more:
@ -225,6 +227,11 @@ template<typename PutChFunc>
if (*(p + 1)) if (*(p + 1))
goto one_more; goto one_more;
} }
if (*p == 'z') {
size_qualifier = true;
if (*(p + 1))
goto one_more;
}
if (*p == '#') { if (*p == '#') {
alternate_form = true; alternate_form = true;
if (*(p + 1)) if (*(p + 1))

View file

@ -168,7 +168,7 @@ void* malloc(size_t size)
if (!block) { if (!block) {
char buffer[64]; char buffer[64];
snprintf(buffer, sizeof(buffer), "malloc: ChunkedBlock(%u)", good_size); snprintf(buffer, sizeof(buffer), "malloc: ChunkedBlock(%zu)", good_size);
block = (ChunkedBlock*)os_alloc(PAGE_SIZE, buffer); block = (ChunkedBlock*)os_alloc(PAGE_SIZE, buffer);
new (block) ChunkedBlock(good_size); new (block) ChunkedBlock(good_size);
allocator->usable_blocks.append(block); allocator->usable_blocks.append(block);

View file

@ -80,7 +80,7 @@ int main(int argc, char** argv)
printf("\033[36;1m%s\033[0m", buffer); printf("\033[36;1m%s\033[0m", buffer);
} }
printf("(%u bytes received)\n", total_recv); printf("(%zu bytes received)\n", total_recv);
rc = close(fd); rc = close(fd);
if (rc < 0) { if (rc < 0) {
perror("close"); perror("close");