From 7623e60ab715ed2f34b0511bb6c5aa19edc6a3cc Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 10 Sep 2021 21:29:42 +0300 Subject: [PATCH] busybox: apply newer fix for #331 --- core/busybox/checksums | 2 +- core/busybox/patches/awk-fix-%%.patch | 34 +++++++++++++++++---------- core/busybox/version | 2 +- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/core/busybox/checksums b/core/busybox/checksums index c9ffb410..bcf35f67 100644 --- a/core/busybox/checksums +++ b/core/busybox/checksums @@ -7,7 +7,7 @@ f0e17fefc0af6b10205d72b242b6ef7481a58ff07726c62890ebc5893b96a396 73be7b16dcff44e88eb48696522794f529beddf9d5a139b8a76cc8685a9f6fc8 d70c4cd6381baeb3836c0387f53553021b48bdc851de49f1c86d836f7d0355fc b030d6ac2b3284cf3cc0a2eec886d26b7e09ea59feb460a6a09165da62a582b4 -fc5e47e82765dc43c0b271156d40cf80148fb67b55c935e6f61a0e052ba49e40 +48ed5f360cad111e8fe17c8eea8e65d1d54b96209e9a5a73835ae6681aeb2355 c8a6fc95a75fa355d570c14e214d68a618e060a486b824b83b5140b9c6a894a7 5f3d6cbdc7060deab644555201365e6dd15ffed07d341532c3d82a170e95c0bd 423c3a67ad56b290ef73440cb748dbc3c6ee2ec486683b5e19242a804db8085b diff --git a/core/busybox/patches/awk-fix-%%.patch b/core/busybox/patches/awk-fix-%%.patch index 6ccd4b01..70b04331 100644 --- a/core/busybox/patches/awk-fix-%%.patch +++ b/core/busybox/patches/awk-fix-%%.patch @@ -1,21 +1,31 @@ diff --git a/editors/awk.c b/editors/awk.c -index 3adbca7..f7b8ef0 100644 +index 3adbca7..02c26d7 100644 --- a/editors/awk.c +++ b/editors/awk.c -@@ -2346,8 +2346,15 @@ static char *awk_printf(node *n, size_t *len) +@@ -2346,12 +2346,21 @@ static char *awk_printf(node *n, size_t *len) size_t slen; s = f; - while (*f && (*f != '%' || *++f == '%')) +- f++; +- while (*f && !isalpha(*f)) { +- if (*f == '*') +- syntax_error("%*x formats are not supported"); + while (*f && *f != '%') f++; -+ c = *++f; -+ if (c == '%') { /* double % */ -+ slen = f - s; -+ s = xstrndup(s, slen); -+ f++; -+ goto tail; -+ } - while (*f && !isalpha(*f)) { - if (*f == '*') - syntax_error("%*x formats are not supported"); ++ if (*f) { ++ c = *++f; ++ if (c == '%') { /* double % */ ++ slen = f - s; ++ s = xstrndup(s, slen); ++ f++; ++ goto tail; ++ } ++ while (*f && !isalpha(*f)) { ++ if (*f == '*') ++ syntax_error("%*x formats are not supported"); ++ f++; ++ } + } + c = *f; + if (!c) { diff --git a/core/busybox/version b/core/busybox/version index 074e4878..4b9f397c 100644 --- a/core/busybox/version +++ b/core/busybox/version @@ -1 +1 @@ -1.34.0 5 +1.34.0 6