[Mono-bugs] [Bug 668494] System.Io.Compression.DeflateStream not working

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Feb 2 16:54:20 EST 2011


https://bugzilla.novell.com/show_bug.cgi?id=668494

https://bugzilla.novell.com/show_bug.cgi?id=668494#c1


Garth Tissington <gtissington at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gtissington at gmail.com

--- Comment #1 from Garth Tissington <gtissington at gmail.com> 2011-02-02 21:54:17 UTC ---
I have looked into this further and traced the mono source code as much I can.

Ultimately

WriteZStrema
DeflateStream.WriteZStream (z_stream, ptr, count);  is called  correctly from 

unsafe void WriteInternal (byte[] array, int offset, int count)

CheckResult is called correctly and never falls through to the error handler
cases.  i.e result is always >=0

So, everything in the DeflateStream class appears to be handled correctly.

However, WriteInternal does not produce the correct output file as described in
the original report.



WriteZStream is defined as...
[DllImport (LIBNAME, CallingConvention=CallingConvention.Cdecl)]
static extern int WriteZStream (IntPtr stream, IntPtr buffer, int length);

So I can go no further.

One more note though is that LIBNAME above is defined as


#if MONOTOUCH
        const string LIBNAME = "__Internal";
#else
        const string LIBNAME = "MonoPosixHelper";
#endif


If I define MONOTOUCH I get the problem as defined here.  If I remove the
MONOTOUCH DEF then The app crashes  on DllNotFound for MonoPosixHelp.dd

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list