On Thu, Nov 14, 2024 at 11:11:50AM +0000, Yao Zi wrote: > According to POSIX standard, a backslash in the replacement of sub() > should be treated as a literal backslash if it is not preceded by a '&' > or another backslash. But busybox awk skips it unconditionally, > regardless of the following character. For example, > > $ echo "abc" | busybox awk 'sub(/abc/, "\\d")' > d > > where \d is expected here. This is known to break rsync's documentation > converter. > > Let's check the next character before skipping the backslash, following > POSIX standard and behavior of GNU awk. > > Link: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html > Link: > https://github.com/RsyncProject/rsync/blob/62bb9bba022ce6a29f8c92307d5569c338b2f711/help-from-md.awk#L22 > Fixes: 5f84c5633 ("awk: fix backslash handling in sub() builtins") > Signed-off-by: Yao Zi <zi...@disroot.org>
Ping on this patch, thanks for your time and review. Best regards, Yao Zi _______________________________________________ busybox mailing list busybox@busybox.net https://lists.busybox.net/mailman/listinfo/busybox