Author: eyala
Date: 2005-09-08 08:58:14 -0400 (Thu, 08 Sep 2005)
New Revision: 49694

Modified:
   trunk/mcs/class/System.Web/System.Web.Hosting/ChangeLog
   trunk/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs
Log:
Fixes for Grasshopper runtime

Modified: trunk/mcs/class/System.Web/System.Web.Hosting/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Hosting/ChangeLog     2005-09-08 
12:56:45 UTC (rev 49693)
+++ trunk/mcs/class/System.Web/System.Web.Hosting/ChangeLog     2005-09-08 
12:58:14 UTC (rev 49694)
@@ -1,4 +1,7 @@
 2005-07-24  Eyal Alalouf  <[EMAIL PROTECTED]>
+       * ServletWorkerRequest.jvm.cs: Implement SendResponseFromFile
+
+2005-07-24  Eyal Alalouf  <[EMAIL PROTECTED]>
        * ServletWorkerRequest.jvm.cs: Put Console.WriteLine in #if DEBUG
 
 2005-07-18  Eyal Alalouf  <[EMAIL PROTECTED]>

Modified: 
trunk/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs   
2005-09-08 12:56:45 UTC (rev 49693)
+++ trunk/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs   
2005-09-08 12:58:14 UTC (rev 49694)
@@ -388,6 +388,19 @@
 
                public override void SendResponseFromFile (string filename, 
long offset, long length)
                {
+                       using (FileStream fs = File.OpenRead (filename)) {
+                               byte [] buffer = new byte [4 * 1024];
+
+                               if (offset != 0)
+                                       fs.Position = offset;
+
+                               long remain = length;
+                               int n;
+                               while (remain > 0 && (n = fs.Read (buffer, 0, 
(int) Math.Min (remain, buffer.Length))) != 0){
+                                       remain -= n;
+                                       SendResponseFromMemory(buffer, n);
+                               }
+                       }
                }
 
                public override void SendResponseFromMemory (byte [] data, int 
length)

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to