summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-10-12 22:08:39 (GMT)
committerTim Peters <tim.peters@gmail.com>2001-10-12 22:08:39 (GMT)
commit1566a17af583cbda271950572c82869199aeb1f0 (patch)
treee886fe2e0326cbef3852e3bdf0be7c82d5bdf0e4
parent3e9964368243cec7d917cddd3bc3d258a767cf34 (diff)
downloadcpython-1566a17af583cbda271950572c82869199aeb1f0.zip
cpython-1566a17af583cbda271950572c82869199aeb1f0.tar.gz
cpython-1566a17af583cbda271950572c82869199aeb1f0.tar.bz2
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.
-rw-r--r--Modules/_hotshot.c16
-rw-r--r--PC/config.c2
-rw-r--r--PCbuild/pythoncore.dsp15
3 files changed, 30 insertions, 3 deletions
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 @@ typedef struct timeval hs_time;
#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 @@ logreader_tp_iternext(LogReaderObject *self)
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 @@ flush_data(ProfilerObject *self)
{
/* 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 @@ tracer_callback(ProfilerObject *self, PyFrameObject *frame, int what,
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 @@ hotshot_profiler(PyObject *unused, PyObject *args)
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_locale(void);
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 @@ struct _inittab _PyImport_Inittab[] = {
{"_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 @@ SOURCE=..\Modules\_codecsmodule.c
# 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"