#!/bin/sh

replace_date="\
To: linux-kernel@vger.kernel.org"

replace_signoff=""

# 1:prefix 2:repl_str
replace_line() {
	while IFS='' read -r line; do
		if test "${line#$1}" = "$line"; then
			printf "%s\n" "$line"
		else
			printf "%s\n" "$2"
		fi
	done
}

for f in PATCHES/*.patch; do
	sed 's/ noinline __attribute__((noclone)) / /' -i "$f"
	sed 's/  *noinline __attribute__((noclone))$//' -i "$f"

	### Gawd. Reconstruct linewrapped Subject:...
	subject=""
	grep -e '^Subject: ' \
		-e '^ bytes$' \
		-e '^ [0-9]* bytes$' \
		-e '^ save [0-9]* bytes$' \
		-e '^ .*, save [0-9]* bytes$' \
		<"$f" \
	| { while IFS='' read -r line; do
		subject="$subject$line"
	done
	#echo "<$subject>"
	<"$f" \
	grep -v -e '^ bytes$' \
		-e '^ [0-9]* bytes$' \
		-e '^ save [0-9]* bytes$' \
		-e '^ .*, save [0-9]* bytes$' \
	| replace_line "Subject:" "$subject" >"$f.$$"
	mv "$f.$$" "$f"
	}
	###

	test "$replace_date" && {
		replace_line "Date:" "$replace_date" <"$f" >"$f.$$"
		mv "$f.$$" "$f"
	}
	test "$replace_signoff" && {
		replace_line "Signed-off-by:" "$replace_signoff" <"$f" >"$f.$$"
		mv "$f.$$" "$f"
	}

done
