From 54db2a56a69b2d6ce894f879568a94003472cbf7 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 17 Jul 2023 09:59:59 +0200 Subject: parts: base64 encode text with too long lines --- scripts/parts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/scripts/parts b/scripts/parts index ae73c2f..6449a6e 100755 --- a/scripts/parts +++ b/scripts/parts @@ -66,10 +66,21 @@ add_part() {( contentType="$(file -Lib "$filepath"); name=$filename" case $contentType in text/plain|text/plain\;*) - contentTransferEncoding=8bit - content() { - cat "$filepath" - } + max_length=$(awk ' + length > max_length { max_length = length } + END { print max_length } + ') + if test "$max_length" -le 998; then + contentTransferEncoding=8bit + content() { + cat "$filepath" + } + else + contentTransferEncoding=base64 + content() { + base64 "$filepath" + } + fi ;; *) contentTransferEncoding=base64 -- cgit v1.2.3