#!/bin/sh
# nopl - dekodowanie QP/Base64 i wycinanie polskich znakw
# (c) Sebastian Zagrodzki <s.zagrodzki@sith.mimuw.edu.pl>
# Strona domowa: http://sith.mimuw.edu.pl/~zagrodzki
#
# Ten program moe by wykorzystywany jedynie do celw niekomercyjnych.
# Uywanie go bez wiedzy i zgody autora w celach zarobkowych jest
# niedozwolone.
# Autor nie ponosi odpowiedzialnoci za adne skutki wynike z dziaania 
# programu, nie gwarantuje te poprawnoci jego dziaania.

# tu wpisz ciek do programu mmencode, np. /usr/bin/mmencode
MM="................"

while
	read
do
	while
		echo "$REPLY" | grep -qi '=?[^?]*?.?[^?]*?='
	do
		KOD="`echo \"$REPLY\" |\
			sed 's/.*=?\([^?]*\)?.?[^?]*?=.*/\1/' |\
			sed 's#/#\\\\/#'`"
		ENC="`echo \"$REPLY\" |\
			sed 's/.*=?[^?]*?\(.\)?[^?]*?=.*/\1/' |\
			sed 's#/#\\\\/#'`"
		STARE="`echo \"$REPLY\" |\
			sed 's/.*=?[^?]*?.?\([^?]*\)?=.*/\1/'`"
		case "$ENC" in
		q|Q)
			NOWE="`echo \"$STARE\" |\
				$MM -q -u | tr '_' ' '`"
			;;
		b|B)
			NOWE="`echo \"$STARE\" |\
				$MM -u`"
			;;
		esac
		NOWE="`echo \"$NOWE\" |\
			sed 's#/#\\\\/#g'`"
		STARE="`echo \"$STARE\" |\
			sed 's#/#\\\\/#g'`"
		REPLY="`echo \"$REPLY\" |\
			sed 's/=?'\"$KOD\"'?'\"$ENC\"'?'\"$STARE\"'?=/'\"$NOWE\"'/'`"
	done
	
	# nastpne dwie linijki powoduj zamian polskich znakw na
	# zwyke znaki ascii. Jeli Twj telefon "rozumie" polskie
	# krzaczki: moesz to wykomentowa.
	REPLY=`echo "$REPLY" |\
		tr '󶿼ʣӦ' 'acelnoszzACELNOSZZ'`
	echo "$REPLY"
done
