[bug] javax.mail.internet.MimeUtility.getEncoding() never returns 'quoted-printable'

"Dannhauer, Frank" <[email protected]> Thu, 23 Apr 2009 12:53:32 +0200
Newsgroups gmane.comp.java.classpath.extensions.javamail
Message-ID <[email protected]>
javax.mail.internet.MimeUtility.getEncoding() returns either "7bit" or =
"base64", but never "quoted-printable"

To reproduce:

####################################
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset;

import javax.activation.DataSource;
import javax.mail.internet.MimeUtility;

public class Main {

	public static void main(String[] args) throws Exception {
	=09
		final Charset c =3D Charset.forName("ISO-8859-15");
		final byte[] b =3D "aaaa=E4".getBytes(c);
	=09
		System.out.println(MimeUtility.getEncoding(
				new DataSource(){

					public String getContentType() {
						return "text/plain; charset=3D"+MimeUtility.mimeCharset(c.name());
					}

					public InputStream getInputStream() throws IOException {
						return new ByteArrayInputStream(b);
					}

					public String getName() {
						return null;
					}

					public OutputStream getOutputStream() throws IOException {
						return null;
					}
				}
		));
	}

}
####################################

Suggested patch:

Index: source/javax/mail/internet/MimeUtility.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: =
/sources/classpathx/mail/source/javax/mail/internet/MimeUtility.java,v
retrieving revision 1.23
diff -u -r1.23 MimeUtility.java
--- source/javax/mail/internet/MimeUtility.java	27 Nov 2007 22:03:59 =
-0000	1.23
+++ source/javax/mail/internet/MimeUtility.java	23 Apr 2009 10:18:22 =
-0000
@@ -1030,7 +1030,7 @@
                   }
                 else
                   {
-                    if (text)
+                    if (!text)
                       {
                         return MINORITY_ASCII;
                       }

####################################

Kind Regards,
Frank