--- http.c.orig	Mon May 30 14:29:02 2005
+++ http.c	Fri Jun 10 09:48:44 2005
@@ -388,6 +388,19 @@
   xfree (req);
 }
 
+/* Turn off optimization for Visual Studio 6 sp6 in order to avoid
+http.c(395) : fatal error C1001: INTERNAL COMPILER ERROR
+                (compiler file 'F:\9782\vc98\p2\src\P2\main.c', line 494)
+Not neccessary at least for
+Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
+*/
+#ifdef _MSC_VER
+#if _MSC_VER<=1200
+#pragma optimize("g",off)
+#endif
+#endif
+
+
 /* Send the contents of FILE_NAME to SOCK.  Make sure that exactly
    PROMISED_SIZE bytes are sent over the wire -- if the file is
    longer, read only that much; if the file is shorter, report an error.  */
@@ -435,6 +448,12 @@
   return 0;
 }
 
+#ifdef _MSC_VER
+#if _MSC_VER<=1200
+#pragma optimize("g",on)
+#endif
+#endif
+
 static const char *
 response_head_terminator (const char *hunk, int oldlen, int peeklen)
 {
--- retr.c.orig	Thu May  5 09:48:08 2005
+++ retr.c	Fri Jun 10 09:48:52 2005
@@ -196,6 +196,18 @@
    error while reading data, -1 is returned.  In case of error while
    writing data, -2 is returned.  */
 
+/* Turn off optimization for Visual Studio 6 sp6 in order to avoid
+http.c(395) : fatal error C1001: INTERNAL COMPILER ERROR
+                (compiler file 'F:\9782\vc98\p2\src\P2\main.c', line 494)
+Not neccessary at least for
+Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86
+*/
+#ifdef _MSC_VER
+#if _MSC_VER<=1200
+#pragma optimize("g",off)
+#endif
+#endif
+
 int
 fd_read_body (int fd, FILE *out, wgint toread, wgint startpos,
 	      wgint *qtyread, wgint *qtywritten, double *elapsed, int flags)
@@ -341,6 +353,12 @@
   return ret;
 }
 
+#ifdef _MSC_VER
+#if _MSC_VER<=1200
+#pragma optimize("g",on)
+#endif
+#endif
+
 /* Read a hunk of data from FD, up until a terminator.  The terminator
    is whatever the TERMINATOR function determines it to be; for
    example, it can be a line of data, or the head of an HTTP response.
