-sub mime_quote_text {
- $main::lxdebug->enter_sub();
-
- my ($self, $text, $chars_left) = @_;
-
- my $q_start = "=?$self->{charset}?Q?";
- my $l_start = length($q_start);
-
- my $new_text = "$q_start";
- $chars_left -= $l_start;
-
- for (my $i = 0; $i < length($text); $i++) {
- my $char = ord(substr($text, $i, 1));
-
- if (($char < 32) || ($char > 127) ||
- ($char == ord('?')) || ($char == ord('_'))) {
- if ($chars_left < 5) {
- $new_text .= "?=\n $q_start";
- $chars_left = 75 - $l_start;
- }
-
- $new_text .= sprintf("=%02X", $char);
- $chars_left -= 3;
-
- } else {
- $char = ord('_') if ($char == ord(' '));
- if ($chars_left < 5) {
- $new_text .= "?=\n $q_start";
- $chars_left = 75 - $l_start;
- }
-
- $new_text .= chr($char);
- $chars_left--;
- }
- }