diff options
Diffstat (limited to 'internal/rosa/busybox.go')
| -rw-r--r-- | internal/rosa/busybox.go | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/internal/rosa/busybox.go b/internal/rosa/busybox.go index 8ea881cd..f9bd1946 100644 --- a/internal/rosa/busybox.go +++ b/internal/rosa/busybox.go @@ -350,25 +350,7 @@ ln -vs ../../system/bin/busybox /work/usr/bin/env "https://busybox.net/downloads/busybox-"+version+".tar.bz2", mustDecode(checksum), pkg.TarBzip2, - ), true, [2]string{"awk-fix-literal-backslash", `diff --git a/editors/awk.c b/editors/awk.c -index 64e752f4b..40f5ba7f7 100644 ---- a/editors/awk.c -+++ b/editors/awk.c -@@ -2636,8 +2636,13 @@ static int awk_sub(node *rn, const char *repl, int nm, var *src, var *dest /*,in - resbuf = qrealloc(resbuf, residx + replen + n, &resbufsize); - memcpy(resbuf + residx, sp + pmatch[j].rm_so - start_ofs, n); - residx += n; -- } else -+ } else { -+/* '\\' and '&' following a backslash keep its original meaning, any other -+ * occurrence of a '\\' should be treated as literal */ -+ if (bslash && c != '\\' && c != '&') -+ resbuf[residx++] = '\\'; - resbuf[residx++] = c; -+ } - bslash = 0; - } - }`}, + ), false, ))) } func init() { artifactsF[Busybox] = Toolchain.newBusybox } |
