[
  {
    "Id": "251833",
    "ThreadId": "73661",
    "Html": "<p>Hi guys!</p>\r\n<p>I have a problem while trying to use DeflateStream. If I do it in the way suggested in one of your examples it works fine. &nbsp;Though if I change file stream to memory stream creating a DeflateStream object I get some problems. Code below is just slightly modified sample from DeflateStream.cs</p>\r\n<p>&nbsp;</p>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp;string fileToCompress = @&quot;d:\\d1.doc&quot;;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp;using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; using (var raw = System.IO.File.Create(fileToCompress + &quot;.zip&quot;))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">/* &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (DeflaterOutputStream deflaterStream = new DeflaterOutputStream(raw))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MiscUtil.CopyStream(input, deflaterStream);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; deflaterStream.Finish();</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }*/</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Stream compressor = new DeflateStream(raw, CompressionMode.Compress);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemoryStream ms = new MemoryStream();</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (Stream compressor = new DeflateStream(ms, CompressionMode.Compress))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte[] buffer = new byte[4096];</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int n;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; compressor.Write(buffer, 0, n);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MiscUtil.CopyStream(ms, raw);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* &nbsp; &nbsp; MemoryStream ms = new MemoryStream();</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ZipUtil.Deflate(input, ms);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MiscUtil.CopyStream(ms, raw);*/</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; }</div>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;&nbsp; &nbsp;string fileToCompress = @&quot;d:\\d1.doc&quot;;</p>\r\n<p>&nbsp;&nbsp; &nbsp;using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))</p>\r\n<p>&nbsp;&nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; using (var raw = System.IO.File.Create(fileToCompress + &quot;.zip&quot;))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemoryStream ms = new MemoryStream();</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (Stream compressor = new DeflateStream(ms, CompressionMode.Compress))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte[] buffer = new byte[4096];</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int n;</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; compressor.Write(buffer, 0, n);</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MiscUtil.CopyStream(ms, raw); &nbsp;// this is just a stream to stream copy utility function</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }</p>\r\n<p>&nbsp;&nbsp; &nbsp; }</p>\r\n<div>I set a break on&nbsp;MiscUtil.CopyStream(ms, raw) and found that ms.Length = ms.Position = 0.&nbsp;Could you please comment if this is the real issue or I just do something wrong?</div>\r\n<div>Thanks in advance,</div>\r\n<div>Alex</div>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-10-30T18:14:40.9-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "251871",
    "ThreadId": "73661",
    "Html": "<p>I don't know what the specific problem might be but I have some comments.</p>\r\n<ol>\r\n<li>If I thought my code had written to a stream, and yet the Position and Length on the stream were both 0, I would first verify that the stream write actually occurred.</li>\r\n<li>I don't know what CopyStream does, but if you do a ms.Read() in there, you will want to call ms.Seek(0, SeekOrigin.Begin) before doing so.&nbsp; </li>\r\n<li>Why do you write to a MemoryStream&nbsp;when you really want to put it into the filesystem file?&nbsp; Why not write directly to the filestream?&nbsp;&nbsp; what are you trying to accomplish? </li>\r\n<li>The file you are creating, with the .zip extension, is not a zip file.&nbsp; Anything that comes out of DeflateStream is not a .zip file.&nbsp;&nbsp;You are inviting confusion by naming it that way. &nbsp;</li>\r\n</ol>\r\n<p>Good luck!</p>",
    "PostedDate": "2009-10-30T23:32:18.723-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "251900",
    "ThreadId": "73661",
    "Html": "<p>Thank you for quick reply.</p>\r\n<p>1. Before going to debug the dotnetzip code I wanted to check if it's not a feature of the library.</p>\r\n<p>2. I am not sure that it is really necessary in this case but ok, i will try. Though in all other code this function works fine so I am pretty sure that it is a root cause of the problem.</p>\r\n<p>3. It's just for testing purposes. In fact I need to deflate a memory stream and continue to work with it.</p>\r\n<p>4. Yeah, I know it. Again it was just for testing purposes so I named the file with the first name I had in my head. I am agree it could be confusing.</p>\r\n<p>By the way, I am not really good in C# but do I understand rightly, that even if I solve the issue and find the way to write a deflated stream into a memory stream I will have to copy its contant, as far as the stream will be closed then DeflateStream is disposed?</p>",
    "PostedDate": "2009-10-31T02:16:59.973-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "251906",
    "ThreadId": "73661",
    "Html": "<p>&gt; Though in all other code this function works fine so I am pretty sure that it is a root cause of the problem.</p>\r\n<p>No, you are not understanding.&nbsp; If a stream is of length 100, and the Position on the stream is 100, then calling Read() on the stream will not return any data.&nbsp; In the MemoryStream, after having written it, the Position is at the end of whatever data you've written.&nbsp; This isn't the problem you're having, if Length and Position are both zero, but it <em>will be </em>a problem, if you fix the first one.</p>\r\n<p>&gt; I will have to copy its contant, as far as the stream will be closed then DeflateStream is disposed?</p>\r\n<p>There's a constructor on the DeflateStream class that lets you specify whether you want the internal stream to remain open, or not, after closing the DeflateStream.</p>\r\n<p><a href=\"http://cheeso.members.winisp.net/DotNetZipHelp/html/c19f2a7a-1c21-a979-3cf1-40f87a008c88.htm\">http://cheeso.members.winisp.net/DotNetZipHelp/html/c19f2a7a-1c21-a979-3cf1-40f87a008c88.htm</a>&nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-10-31T02:58:30.397-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "251923",
    "ThreadId": "73661",
    "Html": "<p>Ah, I got it. Yes, the &nbsp;position is set to 0 before starting the copy process.</p>\r\n<p>Thanks for hint with a constractor, it is useful. I missed it by carelessness.</p>",
    "PostedDate": "2009-10-31T05:15:29.22-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "252050",
    "ThreadId": "73661",
    "Html": "<p>Hello again!</p>\r\n<p>I didn't investigate the code much but it looks like some buffers are written to the stream in the ZLibStream.finish() method. That's why using IO stream led to correct behavior and using memory stream failed - in case of memory stream finish() wasn't called. After making finish() method public and changing a part of code like this:</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; using (DeflateStream compressor = new DeflateStream(ms, CompressionMode.Compress))</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte[] buffer = new byte[4096];</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int n;</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while ((n = input.Read(buffer, 0, buffer.Length)) != 0)</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; compressor.Write(buffer, 0, n);</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; compressor.Finish()</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MiscUtil.CopyStream(ms, raw); &nbsp;// this is just a stream to stream copy utility function</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">i was able to deflate a file to memory stream and then inflate it back. For me it looks like an issue but again, probably I misused your code. Could you please comment?</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">&nbsp;</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">Best regards,</p>\r\n<p style=\"margin-top:1em;margin-bottom:1em\">Alex</p>",
    "PostedDate": "2009-10-31T17:41:19.443-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "252051",
    "ThreadId": "73661",
    "Html": "<p>Ah, yes, I should have caught that.&nbsp;&nbsp; You don't need finish() to be public.</p>\r\n<p>You only need to call Close() on the DeflateStream, before reading the MemoryStream.&nbsp; Reading the MemoryStream after the exit of the using() clause is sufficient.&nbsp; Like so:</p>\r\n<div style=\"color:Black;background-color:White\">\r\n<pre><span style=\"color:Blue\">var</span> ms = <span style=\"color:Blue\">new</span> MemoryStream();\r\n<span style=\"color:Blue\">using</span> (DeflateStream compressor = <span style=\"color:Blue\">new</span> DeflateStream(ms, CompressionMode.Compress))\r\n{\r\n     <span style=\"color:Blue\">byte</span>[] buffer = <span style=\"color:Blue\">new</span> <span style=\"color:Blue\">byte</span>[4096];\r\n     <span style=\"color:Blue\">int</span> n;\r\n     <span style=\"color:Blue\">while</span> ((n = input.Read(buffer, 0, buffer.Length)) != 0)\r\n     {\r\n         compressor.Write(buffer, 0, n);\r\n     }\r\n}  <span style=\"color:Green\">// the finish() method is called here, implicitly</span>\r\nMiscUtil.CopyStream(ms, raw);\r\n\r\n</pre>\r\n</div>",
    "PostedDate": "2009-10-31T17:57:34.93-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "252631",
    "ThreadId": "73661",
    "Html": "<p>Thanks a lot!</p>\r\n<p>It's nice to deal with you.</p>",
    "PostedDate": "2009-11-02T18:41:25.273-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "255331",
    "ThreadId": "73661",
    "Html": "<p>Hello again!</p>\r\n<p>One more time the help is needed. Here is a unit test:</p>\r\n<p>&nbsp;</p>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[Test]</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public void UnifiedTestTextboxWithImage()</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string fileToCompress = @&quot;d:\\inflated1&quot;;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (Stream raw = System.IO.File.Create(@&quot;d:\\deflated_&quot;))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemoryStream ms = new MemoryStream();</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (Stream compressor = new DeflateStream(ms, CompressionMode.Compress, true))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;byte[] buffer = new byte[4096];</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int n;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while ((n = input.Read(buffer, 0, buffer.Length)) != 0)</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;compressor.Write(buffer, 0, n);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ms.Position = 0;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MiscUtil.CopyStream(ms, raw);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (System.IO.Stream srcStream = System.IO.File.OpenRead(@&quot;d:\\deflated_&quot;))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (Stream raw = System.IO.File.Create(@&quot;d:\\inflated_&quot;))</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Stream inflaterStream = new DeflateStream(srcStream, CompressionMode.Decompress);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemoryStream dstStream = new MemoryStream();</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (inflaterStream)</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// MiscUtil.CopyStream(inflaterStream, dstStream);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int nByte;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;byte[] buffer = new byte[519];</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while ((nByte = inflaterStream.Read(buffer, 0, buffer.Length)) != 0)</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dstStream.Write(buffer, 0, nByte);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dstStream.Position = 0;</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MiscUtil.CopyStream(dstStream, raw);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// &nbsp; &nbsp;TestShapeTextboxes.UnifiedTestTextboxWithImage(MyLoadFormat, MySaveFormat);</div>\r\n<div id=\"_mcePaste\" style=\"left:-10000px;top:0px;width:1px;height:1px;overflow-x:hidden;overflow-y:hidden\">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[Test]</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public void DeflateTest()</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (System.IO.Stream input = System.IO.File.OpenRead(@&quot;d:\\inflated1&quot;))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (Stream raw = System.IO.File.Create(@&quot;d:\\deflated_&quot;))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (Stream compressor = new DeflateStream(raw, CompressionMode.Compress, true))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;byte[] buffer = new byte[4096];</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int n;</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while ((n = input.Read(buffer, 0, buffer.Length)) != 0)</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;compressor.Write(buffer, 0, n);</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (System.IO.Stream srcStream = System.IO.File.OpenRead(@&quot;d:\\deflated_&quot;))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (Stream raw = System.IO.File.Create(@&quot;d:\\inflated_&quot;))</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Stream inflaterStream = new DeflateStream(srcStream, CompressionMode.Decompress);</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;using (inflaterStream)</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int nByte;</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;byte[] buffer = new byte[519];</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while ((nByte = inflaterStream.Read(buffer, 0, buffer.Length)) != 0)</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;raw.Write(buffer, 0, nByte);</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>\r\n<div>The size of inflated1 is 518 bytes. If the size of inflate buffer is &lt;=518 then test passes and output file is identical to source file. If the buffer size is &gt; 518 (519 in this case) inflaterStream.Read returnes 0, though the buffer &nbsp;is re-written with correctly inflated data.&nbsp;</div>\r\n<div>from what i can see in debugger in ZlibStream.Read in do-while loop in the second pass&nbsp;_z.Inflate(_flushMode) returnes&nbsp;ZlibConstants.Z_BUF_ERROR in</div>\r\n<div>\r\n<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;rc = (_wantCompress)</div>\r\n<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;? _z.Deflate(_flushMode)</div>\r\n<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: _z.Inflate(_flushMode);</div>\r\n</div>\r\n<div></div>\r\n<div>Thanks in advance,</div>\r\n<div>Alex</div>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-11-09T21:07:18.24-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "255347",
    "ThreadId": "73661",
    "Html": "<p>Alex, I don't understand the problem.&nbsp; I understand everything you wrote, up to this point;</p>\r\n<p style=\"padding-left:30px\">The size of inflated1 is 518 bytes. If the size of inflate buffer is &lt;=518 then test passes and output file is identical to source file.</p>\r\n<p>I don't know what problem you are seeing.&nbsp; I don't know what you're trying to describe.&nbsp; IS there an exception? IS the file being inflated incorrectly?&nbsp; What problem are you seeing?</p>",
    "PostedDate": "2009-11-09T22:03:42.737-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "255354",
    "ThreadId": "73661",
    "Html": "<p>Sorry for misleading.</p>\r\n<p>Ok, here is the scenario. I have a file named inflated1. I deflate it and save in a file named deflated_. Up to here everything works fine.&nbsp;</p>\r\n<p>Next I read the file deflated_ &nbsp;and try to inflate it and save into a file inflated_ to be able co compare with initial file.</p>\r\n<p>I use the code a posted above to do both this operation in a test. The size of original file is 518 byte.</p>\r\n<p>If i set the size of a &nbsp;buffer i use to inflate the data to equal o less then 518 bytes then the code works fine and file is inflated correctly.</p>\r\n<p>If I make a buffer of size greater then 518 (in this example it is 519)</p>\r\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;byte[] buffer = new byte[519];</p>\r\n<p>then the error occures. There is no exeption thrown but here</p>\r\n<p>nByte = inflaterStream.Read(buffer, 0, buffer.Length)</p>\r\n<p>nBytes = 0 though in debugger i can see that the buffer is changed. Moreover, if on this step i change nByte and set it nByte=518 in the debugger test passes, that is the data wrote to the buffer are correctly inflated.</p>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-11-09T22:29:58.14-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "255388",
    "ThreadId": "73661",
    "Html": "<p>ok, Thanks for the additional explanation. It's very clear now.</p>\r\n<p>I just tried your code and I could not reproduce what you saw.&nbsp; I tried a file of length 518 and buffers of length 517, 518, and 519.&nbsp; I always got the same results, correct results. I also tried files of longer and shorter length, with the same range of buffer size.&nbsp; I tried DotNetZip v1.8.4.24 and v1.9.0.29.&nbsp;</p>\r\n<p>It could be the error is related to the actual data in the buffer you compress.&nbsp; Can you make that file available?</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-11-10T00:55:48.91-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "255403",
    "ThreadId": "73661",
    "Html": "<p>Sure.</p>\r\n<p>Could you please email me at anovickov (at) mail (dot) ru and I reply to you with a test file.</p>",
    "PostedDate": "2009-11-10T01:26:22.66-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "255415",
    "ThreadId": "73661",
    "Html": "<p>ok, I did that. Awaiting your reply.</p>",
    "PostedDate": "2009-11-10T01:57:00.777-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "258171",
    "ThreadId": "73661",
    "Html": "<p>Hi Cheeso,</p>\r\n<p>Did you receive a test file from me?</p>\r\n<p>Could you confirm or decline the issue?</p>\r\n<p>Regards,</p>\r\n<p>Alex</p>",
    "PostedDate": "2009-11-18T00:38:15.587-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "258210",
    "ThreadId": "73661",
    "Html": "<p>No, I did not receive an email.&nbsp; I sent one to you, on the 10th of November, but I did not see a reply.</p>",
    "PostedDate": "2009-11-18T02:25:32.28-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "258238",
    "ThreadId": "73661",
    "Html": "<p>It's strange, casue i have sent you three emails on 10, 11 and 17. Could it be that my mails felt in spam box?</p>\r\n<p>Resent again from mail.ru and gmail.com</p>",
    "PostedDate": "2009-11-18T03:57:07.283-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "258594",
    "ThreadId": "73661",
    "Html": "<p>Hi Cheeso, did you receive it this tiem?</p>\r\n<p>Alex</p>",
    "PostedDate": "2009-11-19T02:50:19.38-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "258637",
    "ThreadId": "73661",
    "Html": "<p>Yes I did. I just receievd your email.&nbsp; Only the one from gmail.com .&nbsp;</p>\r\n<p>I'll let you know what I find.</p>",
    "PostedDate": "2009-11-19T05:11:54.627-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "261144",
    "ThreadId": "73661",
    "Html": "<p>Bongiorno Dino,</p>\r\n<p>Any findings?</p>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-11-27T04:57:13.067-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "262600",
    "ThreadId": "73661",
    "Html": "<p>nothing yet. . .</p>",
    "PostedDate": "2009-12-01T23:01:09.29-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "262603",
    "ThreadId": "73661",
    "Html": "<p>But do you at least confirm that the problem exists?</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-12-01T23:05:20.713-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]