Fix bugs and make improvements

- Fix regression with `%lu`
- Added some more headers witnessed in the wild
- Added `-M INT` option to redbean to tune max payload size
- Work around InfoZIP 256 character limit on comment line size
This commit is contained in:
Justine Tunney 2021-05-01 05:11:35 -07:00
parent 3aa8983ec1
commit 1966369e8e
17 changed files with 574 additions and 415 deletions

View file

@ -185,7 +185,7 @@ hidden int __fmt(void *fn, void *arg, const char *format, va_list va) {
continue;
} else if (format[1] == 'l' && format[2] == 'u') {
lu = va_arg(va, unsigned long); /* FAST PATH: PLAIN UNSIGNED LONG */
if (out(ibuf, arg, int64toarray_radix10(lu, ibuf)) == -1) return -1;
if (out(ibuf, arg, uint64toarray_radix10(lu, ibuf)) == -1) return -1;
format += 3;
continue;
} else if (format[1] == '.' && format[2] == '*' && format[3] == 's') {

View file

@ -48,6 +48,20 @@ o/$(MODE)/libc/str/memmem.o: \
OVERRIDE_CPPFLAGS += \
-DSTACK_FRAME_UNLIMITED
o/$(MODE)/libc/str/getzipcdir.o \
o/$(MODE)/libc/str/getzipcdircomment.o \
o/$(MODE)/libc/str/getzipcdircommentsize.o \
o/$(MODE)/libc/str/getzipcdiroffset.o \
o/$(MODE)/libc/str/getzipcdirrecords.o \
o/$(MODE)/libc/str/getzipcfilecompressedsize.o \
o/$(MODE)/libc/str/getzipcfilemode.o \
o/$(MODE)/libc/str/getzipcfileoffset.o \
o/$(MODE)/libc/str/getzipcfileuncompressedsize.o \
o/$(MODE)/libc/str/getziplfilecompressedsize.o \
o/$(MODE)/libc/str/getziplfileuncompressedsize.o: \
OVERRIDE_CFLAGS += \
-Os
LIBC_STR_LIBS = $(foreach x,$(LIBC_STR_ARTIFACTS),$($(x)))
LIBC_STR_SRCS = $(foreach x,$(LIBC_STR_ARTIFACTS),$($(x)_SRCS))
LIBC_STR_HDRS = $(foreach x,$(LIBC_STR_ARTIFACTS),$($(x)_HDRS))

View file

@ -11,7 +11,7 @@ uint64_t tpenc(int32_t) pureconst;
long Edi, Buf; \
asm("call\ttpenc" \
: "=a"(Buf), "=D"(Edi) \
: "1"(CODE) \
: "1"((int)(CODE)) \
: "rcx", "rdx", "cc"); \
Buf; \
})