Get hotshot closer to compiling on Windows.
Still broken:  GETTIMEOFDAY.  This macro obviously isn't being defined
on Windows, so there's logic errors here I'd rather Fred untangled.
diff --git a/Modules/_hotshot.c b/Modules/_hotshot.c
index 8b95c3c..fa4653a 100644
--- a/Modules/_hotshot.c
+++ b/Modules/_hotshot.c
@@ -19,6 +19,7 @@
 #ifdef MS_WIN32
 #include <windows.h>
 #include <largeint.h>
+#include <direct.h>    /* for getcwd() */
 typedef LARGE_INTEGER hs_time;
 #else
 #ifndef HAVE_GETTIMEOFDAY
@@ -41,6 +42,14 @@
 
 #define BUFFERSIZE 10240
 
+#ifndef PATH_MAX
+#   ifdef MAX_PATH
+#       define PATH_MAX MAX_PATH
+#   else
+#       error "Need a defn. for PATH_MAX in _hotshot.c"
+#   endif
+#endif
+
 typedef struct {
     PyObject_HEAD
     PyObject *filemap;
@@ -365,6 +374,7 @@
             goto restart;
         }
     default:
+	;
     }
     if (err == ERR_EOF && oldindex != 0) {
         /* It looks like we ran out of data before we had it all; this
@@ -470,7 +480,7 @@
 {
     /* Need to dump data to the log file... */
     size_t written = fwrite(self->buffer, 1, self->index, self->logfp);
-    if (written == self->index)
+    if (written == (size_t)self->index)
         self->index = 0;
     else {
         memmove(self->buffer, &self->buffer[written],
@@ -723,7 +733,7 @@
     case PyTrace_RETURN:
         pack_exit(self, get_tdelta(self));
         break;
-    case PyTrace_LINE: 
+    case PyTrace_LINE:
         if (self->linetimings)
             pack_lineno_tdelta(self, frame->f_lineno, get_tdelta(self));
         else
@@ -1259,7 +1269,7 @@
         self->index = 0;
         self->active = 0;
         self->next_fileno = 0;
-        self->logfp = NULL;        
+        self->logfp = NULL;
         self->logfilename = PyTuple_GET_ITEM(args, 0);
         Py_INCREF(self->logfilename);
         self->filemap = PyDict_New();
diff --git a/PC/config.c b/PC/config.c
index df9b89a..9e4da2a 100644
--- a/PC/config.c
+++ b/PC/config.c
@@ -44,6 +44,7 @@
 extern void init_codecs(void);
 extern void initxreadlines(void);
 extern void init_weakref(void);
+extern void init_hotshot(void);
 extern void initxxsubtype(void);
 
 /* XXX tim: what's the purpose of ADDMODULE MARKER? */
@@ -98,6 +99,7 @@
         {"_codecs", init_codecs},
 	{"xreadlines", initxreadlines},
 	{"_weakref", init_weakref},
+	{"_hotshot", init_hotshot},
 
 	{"xxsubtype", initxxsubtype},
 
diff --git a/PCbuild/pythoncore.dsp b/PCbuild/pythoncore.dsp
index 4525e6b..e07cd32 100644
--- a/PCbuild/pythoncore.dsp
+++ b/PCbuild/pythoncore.dsp
@@ -180,6 +180,21 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\Modules\_hotshot.c

+

+!IF  "$(CFG)" == "pythoncore - Win32 Release"

+

+!ELSEIF  "$(CFG)" == "pythoncore - Win32 Debug"

+

+!ELSEIF  "$(CFG)" == "pythoncore - Win32 Alpha Debug"

+

+!ELSEIF  "$(CFG)" == "pythoncore - Win32 Alpha Release"

+

+!ENDIF 

+

+# End Source File

+# Begin Source File

+

 SOURCE=..\Modules\_localemodule.c

 

 !IF  "$(CFG)" == "pythoncore - Win32 Release"