Hi, thx for looking deeper at it. I will commit the fix soon :-)
bye Norman GX GLIX schrieb: > Hi Stefano > > Sorry about that.. I made the mistake of switching to windows live > (beta) and it screwed thing up.. > hope this is clearer > > GX > >> From: Stefano Bagnara <[EMAIL PROTECTED]> >> Reply-To: "James Developers List" <server-dev@james.apache.org> >> To: James Developers List <server-dev@james.apache.org> >> Subject: Re: [mime4j] null charset error >> Date: Fri, 04 May 2007 11:19:36 +0200 >> >> This message come through totally unformatted. >> I formatted it and opened a JIRA issue [1] so we can track it. >> >> Thank you, >> Stefano >> >> [1] http://issues.apache.org/jira/browse/MIME4J-12 >> >> GX GLIX ha scritto: >> > > Hi all > > I sincerely apologise for the delay, I have had other priorities and > had to put this aside till now, after futher debugging I have come > across the cause of the java.io.IOException: Bad file descriptor error. > > In the file /org/mime4j/message/Header.java the following code is found > > public void writeTo(OutputStream out) throws IOException { > String charString = ((ContentTypeField) > getField(Field.CONTENT_TYPE)).getCharset(); > > BufferedWriter writer = new BufferedWriter(new > OutputStreamWriter(out, CharsetUtil.getCharset(charString)),8192); > writer.write(toString()+ "\r\n"); > writer.flush(); > writer.close(); > } > > as you can see the output stream is closed here. This is cause of the > IOException as the stream is used later again for writing. > I tried commenting the writer.close(); call and it worked fine, > however I dont know what the implications of this may be. > > The case I am facing is a multipart message which calls the writeTo > method below > > public void writeTo(OutputStream out) throws IOException { > getHeader().writeTo(out); > > Body body = getBody(); > if (body instanceof Multipart) { > Multipart mp = (Multipart) body; > mp.writeTo(out); > } else { > body.writeTo(out); > } > } > > when getHeader().writeTo(out); is called the stream is closed and when > mp.writeTo(out); is called the exception is throw as the stream is > closed. > > Regards > GX > > >> >From: Norman Maurer <[EMAIL PROTECTED]>> >Reply-To: "Jam >> es Developers List" <server-dev@james.apache.org>> >To: James >> Developers List <server-dev@james.apache.org>> >Subject: Re: [mime4j] >> null charset error> >Date: Tue, 24 Apr 2007 15:36:34 +0200> >> >Hi >> GX,> >> >what JDK and OS you using? I found some intressting stuff:> >> >> >http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6322678> >> >http://256.com/gray/docs/misc/java_bad_file_descriptor_close_bug.shtml> >> >> >bye> >Norman> >> >> >GX GLIX schrieb:> > > Hi All> > >> > > I am >> getting a "Null charset name" error during parsing, it seems that> > >> > getCharset(String charsetName) is passed an empty string... I >> tried> > > the following hack to fix it:> > >> > > ..........> > > >> public static java.nio.charset.Charset getCharset(String> > > >> charsetName) {> > > if(charsetName == null)> > > >> charsetName = "ISO8859-1";> > > java.nio.charset.Charset c => >> > > java.nio.charset.Charset.forName(charsetName);> > > ............> >> > >> > > now the result is :> > >> > > java.i >> o.IOException: Bad file descriptor> > > at >> java.io.FileOutputStream.writeBytes(Native Method)> > > at >> java.io.FileOutputStream.write(FileOutputStream.java:260)> > > >> at> > > >> sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)> >> > > at> > > > >> >sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)> >> > >> > > at> > > >> sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408)> >> > > at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)> > >> > at >> java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)> > >> > at java.io.BufferedWriter.flush(BufferedWriter.java:230)> > >> > at org.mime4j.message.Header.writeTo(Header.java:152)> > > >> at org.mime4j.message.BodyPart.writeTo(BodyPart.java:39)> > > at >> org.mime4j.message.Multipart.writeTo(Multipart.java:178)> > > at >> org.mime4j.message.Message.writeTo(Message.java:91)> > > any ideas >> anyone?> > >> > > _______________________________________________ >> __________________> > > FREE pop-up blocking with the new MSN Toolbar >> - get it now!> > > >> http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/> > >> > >> >> > > >> ---------------------------------------------------------------------> >> > > To unsubscribe, e-mail: [EMAIL PROTECTED]> >> > > For additional commands, e-mail: >> [EMAIL PROTECTED]> > >> > >> > > > > >> > >> >> >> >> >---------------------------------------------------------------------> >> >To unsubscribe, e-mail: [EMAIL PROTECTED]> >> >For additional commands, e-mail: [EMAIL PROTECTED]> >> >> > >> _________________________________________________________________> >> Express yourself instantly with MSN Messenger! Download today it's >> FREE! > >> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/> > > >> ---------------------------------------------------------------------> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> ache.org> For additional commands, e-mail: >> [EMAIL PROTECTED]> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's > FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > !DSPAM:1,463b68b279382020420910! > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]