From: Mark Hammond Date: Fri, 2 Aug 2002 02:27:13 +0000 (+0000) Subject: Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype X-Git-Tag: v2.3c1~4794 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe51c6d66e0fbf6a142036bee2c448bd7fe8fefc;p=thirdparty%2FPython%2Fcpython.git Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype for Py_Main(). Thanks to Kalle Svensson and Skip Montanaro for the patches. --- diff --git a/Include/pythonrun.h b/Include/pythonrun.h index 2d7d2b6e9697..7076dfea2bc9 100644 --- a/Include/pythonrun.h +++ b/Include/pythonrun.h @@ -78,6 +78,9 @@ DL_IMPORT(void) Py_Exit(int); DL_IMPORT(int) Py_FdIsInteractive(FILE *, char *); +/* Bootstrap */ +PyAPI_FUNC(int) Py_Main(int argc, char **argv); + /* In getpath.c */ PyAPI_FUNC(char *) Py_GetProgramFullPath(void); PyAPI_FUNC(char *) Py_GetPrefix(void); diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c index aed3c4293817..d663293e885a 100644 --- a/Modules/_codecsmodule.c +++ b/Modules/_codecsmodule.c @@ -703,7 +703,7 @@ static PyMethodDef _codecs_functions[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC init_codecs(void) { Py_InitModule("_codecs", _codecs_functions); diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c index e616d907735b..08c5f09ade19 100644 --- a/Modules/_curses_panel.c +++ b/Modules/_curses_panel.c @@ -445,7 +445,7 @@ static PyMethodDef PyCurses_methods[] = { /* Initialization function for the module */ -DL_EXPORT(void) +PyMODINIT_FUNC init_curses_panel(void) { PyObject *m, *d, *v; diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c index f819a9e57f72..65f60f0d621f 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -2474,7 +2474,7 @@ static PyMethodDef PyCurses_methods[] = { /* Initialization function for the module */ -DL_EXPORT(void) +PyMODINIT_FUNC init_curses(void) { PyObject *m, *d, *v, *c_api_object; diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 5ed3eaf73d93..ab86fa49adf0 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -649,7 +649,7 @@ static struct PyMethodDef PyLocale_Methods[] = { {NULL, NULL} }; -DL_EXPORT(void) +PyMODINIT_FUNC init_locale(void) { PyObject *m, *d, *x; diff --git a/Modules/_ssl.c b/Modules/_ssl.c index baaa097a083c..ad0b59b89443 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -473,7 +473,7 @@ PyDoc_STRVAR(module_doc, "Implementation module for SSL socket operations. See the socket module\n\ for documentation."); -DL_EXPORT(void) +PyMODINIT_FUNC init_ssl(void) { PyObject *m, *d; diff --git a/Modules/_weakref.c b/Modules/_weakref.c index 31e63d1859fe..86bd036cd360 100644 --- a/Modules/_weakref.c +++ b/Modules/_weakref.c @@ -109,7 +109,7 @@ weakref_functions[] = { }; -DL_EXPORT(void) +PyMODINIT_FUNC init_weakref(void) { PyObject *m; diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c index e757d9f49432..5bb5e2ceee8f 100644 --- a/Modules/arraymodule.c +++ b/Modules/arraymodule.c @@ -1908,7 +1908,7 @@ static PyMethodDef a_methods[] = { }; -DL_EXPORT(void) +PyMODINIT_FUNC initarray(void) { PyObject *m; diff --git a/Modules/audioop.c b/Modules/audioop.c index 9adbc7b45c79..52824b84b694 100644 --- a/Modules/audioop.c +++ b/Modules/audioop.c @@ -1369,7 +1369,7 @@ static PyMethodDef audioop_methods[] = { { 0, 0 } }; -DL_EXPORT(void) +PyMODINIT_FUNC initaudioop(void) { PyObject *m, *d; diff --git a/Modules/binascii.c b/Modules/binascii.c index ec07a7170a86..0fe85fca6006 100644 --- a/Modules/binascii.c +++ b/Modules/binascii.c @@ -1313,7 +1313,7 @@ static struct PyMethodDef binascii_module_methods[] = { /* Initialization function for the module (*must* be called initbinascii) */ PyDoc_STRVAR(doc_binascii, "Conversion between binary data and ASCII"); -DL_EXPORT(void) +PyMODINIT_FUNC initbinascii(void) { PyObject *m, *d, *x; diff --git a/Modules/cPickle.c b/Modules/cPickle.c index a43d7b911665..f8d9af85ac99 100644 --- a/Modules/cPickle.c +++ b/Modules/cPickle.c @@ -4789,10 +4789,10 @@ init_stuff(PyObject *module_dict) return 0; } -#ifndef DL_EXPORT /* declarations for DLL import/export */ -#define DL_EXPORT(RTYPE) RTYPE +#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ +#define PyMODINIT_FUNC void #endif -DL_EXPORT(void) +PyMODINIT_FUNC initcPickle(void) { PyObject *m, *d, *di, *v, *k; diff --git a/Modules/cStringIO.c b/Modules/cStringIO.c index 2f85f417d9f6..dfab89a83bd2 100644 --- a/Modules/cStringIO.c +++ b/Modules/cStringIO.c @@ -701,10 +701,10 @@ static struct PycStringIO_CAPI CAPI = { &Otype, }; -#ifndef DL_EXPORT /* declarations for DLL import/export */ -#define DL_EXPORT(RTYPE) RTYPE +#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ +#define PyMODINIT_FUNC void #endif -DL_EXPORT(void) +PyMODINIT_FUNC initcStringIO(void) { PyObject *m, *d, *v; diff --git a/Modules/cmathmodule.c b/Modules/cmathmodule.c index 5bb08f2913aa..8faa6bf185f7 100644 --- a/Modules/cmathmodule.c +++ b/Modules/cmathmodule.c @@ -391,7 +391,7 @@ static PyMethodDef cmath_methods[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC initcmath(void) { PyObject *m; diff --git a/Modules/cryptmodule.c b/Modules/cryptmodule.c index a1eaced2180f..050a35691222 100644 --- a/Modules/cryptmodule.c +++ b/Modules/cryptmodule.c @@ -37,7 +37,7 @@ static PyMethodDef crypt_methods[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC initcrypt(void) { Py_InitModule("crypt", crypt_methods); diff --git a/Modules/dbmmodule.c b/Modules/dbmmodule.c index dde5b49df33b..d05a1bd8494d 100644 --- a/Modules/dbmmodule.c +++ b/Modules/dbmmodule.c @@ -339,7 +339,7 @@ static PyMethodDef dbmmodule_methods[] = { { 0, 0 }, }; -DL_EXPORT(void) +PyMODINIT_FUNC initdbm(void) { PyObject *m, *d, *s; diff --git a/Modules/dlmodule.c b/Modules/dlmodule.c index ea083e2ee538..927f4c0ac828 100644 --- a/Modules/dlmodule.c +++ b/Modules/dlmodule.c @@ -209,7 +209,7 @@ insint(PyObject *d, char *name, int value) Py_XDECREF(v); } -DL_EXPORT(void) +PyMODINIT_FUNC initdl(void) { PyObject *m, *d, *x; diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c index 74d4f0f310c7..cd3d2fab9b66 100644 --- a/Modules/errnomodule.c +++ b/Modules/errnomodule.c @@ -57,7 +57,7 @@ Symbols that are not relevant to the underlying system are not defined.\n\ To map error codes to error messages, use the function os.strerror(),\n\ e.g. os.strerror(2) could return 'No such file or directory'."); -DL_EXPORT(void) +PyMODINIT_FUNC initerrno(void) { PyObject *m, *d, *de; diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c index f1d89cc7a76b..360b54ee4cbb 100644 --- a/Modules/fcntlmodule.c +++ b/Modules/fcntlmodule.c @@ -462,7 +462,7 @@ all_ins(PyObject* d) return 0; } -DL_EXPORT(void) +PyMODINIT_FUNC initfcntl(void) { PyObject *m, *d; diff --git a/Modules/flmodule.c b/Modules/flmodule.c index b3e7d1f80929..2fe118d629f4 100644 --- a/Modules/flmodule.c +++ b/Modules/flmodule.c @@ -2126,7 +2126,7 @@ static PyMethodDef forms_methods[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC initfl(void) { Py_InitModule("fl", forms_methods); diff --git a/Modules/fpectlmodule.c b/Modules/fpectlmodule.c index c4b85d164abc..c29bcef6555b 100644 --- a/Modules/fpectlmodule.c +++ b/Modules/fpectlmodule.c @@ -86,7 +86,7 @@ static Sigfunc sigfpe_handler; static void fpe_reset(Sigfunc *); static PyObject *fpe_error; -DL_EXPORT(void) initfpectl(void); +PyMODINIT_FUNC initfpectl(void); static PyObject *turnon_sigfpe (PyObject *self,PyObject *args); static PyObject *turnoff_sigfpe (PyObject *self,PyObject *args); @@ -249,7 +249,7 @@ static void sigfpe_handler(int signo) } } -DL_EXPORT(void) initfpectl(void) +PyMODINIT_FUNC initfpectl(void) { PyObject *m, *d; m = Py_InitModule("fpectl", fpectl_methods); diff --git a/Modules/fpetestmodule.c b/Modules/fpetestmodule.c index 565d0b7da9b6..aa14dd82a6b2 100644 --- a/Modules/fpetestmodule.c +++ b/Modules/fpetestmodule.c @@ -44,7 +44,7 @@ #include "Python.h" static PyObject *fpe_error; -DL_EXPORT(void) initfpetest(void); +PyMODINIT_FUNC initfpetest(void); static PyObject *test(PyObject *self,PyObject *args); static double db0(double); static double overflow(double); @@ -172,7 +172,7 @@ static double overflow(double b) return a; } -DL_EXPORT(void) initfpetest(void) +PyMODINIT_FUNC initfpetest(void) { PyObject *m, *d; diff --git a/Modules/gdbmmodule.c b/Modules/gdbmmodule.c index 6e85ed34690e..accf43894bcf 100644 --- a/Modules/gdbmmodule.c +++ b/Modules/gdbmmodule.c @@ -504,7 +504,7 @@ static PyMethodDef dbmmodule_methods[] = { { 0, 0 }, }; -DL_EXPORT(void) +PyMODINIT_FUNC initgdbm(void) { PyObject *m, *d, *s; diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c index c83400994047..8a889685fcf9 100644 --- a/Modules/grpmodule.c +++ b/Modules/grpmodule.c @@ -156,7 +156,7 @@ according to the password database. Check both databases to get\n\ complete membership information.)"); -DL_EXPORT(void) +PyMODINIT_FUNC initgrp(void) { PyObject *m, *d; diff --git a/Modules/imageop.c b/Modules/imageop.c index 7b925b8ab9be..8c83cc3cf27d 100644 --- a/Modules/imageop.c +++ b/Modules/imageop.c @@ -696,7 +696,7 @@ static PyMethodDef imageop_methods[] = { }; -DL_EXPORT(void) +PyMODINIT_FUNC initimageop(void) { PyObject *m, *d; diff --git a/Modules/main.c b/Modules/main.c index cc07c29a0221..cebb17b90d1b 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -105,7 +105,7 @@ usage(int exitcode, char* program) /* Main program */ -DL_EXPORT(int) +int Py_Main(int argc, char **argv) { int c; diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c index 88b439f83771..cbb00007ec8f 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -334,7 +334,7 @@ PyDoc_STRVAR(module_doc, "This module is always available. It provides access to the\n" "mathematical functions defined by the C standard."); -DL_EXPORT(void) +PyMODINIT_FUNC initmath(void) { PyObject *m, *d, *v; diff --git a/Modules/md5module.c b/Modules/md5module.c index aa2bef8c4cc9..8ca238635450 100644 --- a/Modules/md5module.c +++ b/Modules/md5module.c @@ -253,7 +253,7 @@ static PyMethodDef md5_functions[] = { /* Initialize this module. */ -DL_EXPORT(void) +PyMODINIT_FUNC initmd5(void) { PyObject *m, *d; diff --git a/Modules/mpzmodule.c b/Modules/mpzmodule.c index 0cb6495642e7..5974df14d7b7 100644 --- a/Modules/mpzmodule.c +++ b/Modules/mpzmodule.c @@ -1644,7 +1644,7 @@ void mp_free(void *ptr, size_t size) /* Initialize this module. */ -DL_EXPORT(void) +PyMODINIT_FUNC initmpz(void) { PyObject *module; diff --git a/Modules/operator.c b/Modules/operator.c index fbe8c145aa44..c1bf468955ef 100644 --- a/Modules/operator.c +++ b/Modules/operator.c @@ -219,7 +219,7 @@ spam2(ge,__ge__, "ge(a, b) -- Same as a>=b.") /* Initialization function for the module (*must* be called initoperator) */ -DL_EXPORT(void) +PyMODINIT_FUNC initoperator(void) { /* Create the module and add the functions */ diff --git a/Modules/pcremodule.c b/Modules/pcremodule.c index 383dde86b25c..656539a59172 100644 --- a/Modules/pcremodule.c +++ b/Modules/pcremodule.c @@ -610,7 +610,7 @@ insint(PyObject *d, char *name, int value) /* Initialization function for the module (*must* be called initpcre) */ -DL_EXPORT(void) +PyMODINIT_FUNC initpcre(void) { PyObject *m, *d; diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index bf178f87fccc..9b7640f19c8c 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -3211,6 +3211,7 @@ _PyPopenCreateProcess(char *cmdstring, { PROCESS_INFORMATION piProcInfo; STARTUPINFO siStartInfo; + DWORD dwProcessFlags = 0; /* no NEW_CONSOLE by default for Ctrl+C handling */ char *s1,*s2, *s3 = " /c "; const char *szConsoleSpawn = "w9xpopen.exe"; int i; @@ -3303,6 +3304,16 @@ _PyPopenCreateProcess(char *cmdstring, s1, s3, cmdstring); + /* Not passing CREATE_NEW_CONSOLE has been known to + cause random failures on win9x. Specifically a + dialog: + "Your program accessed mem currently in use at xxx" + and a hopeful warning about the stability of your + system. + Cost is Ctrl+C wont kill children, but anyone + who cares can have a go! + */ + dwProcessFlags |= CREATE_NEW_CONSOLE; } } @@ -3328,7 +3339,7 @@ _PyPopenCreateProcess(char *cmdstring, NULL, NULL, TRUE, - 0, /* no new console so Ctrl+C kills child too */ + dwProcessFlags, NULL, NULL, &siStartInfo, @@ -6746,7 +6757,7 @@ all_ins(PyObject *d) #define MODNAME "posix" #endif -DL_EXPORT(void) +PyMODINIT_FUNC INITFUNC(void) { PyObject *m, *v; diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c index b51b7f91e13e..cb139bb036d6 100644 --- a/Modules/pwdmodule.c +++ b/Modules/pwdmodule.c @@ -157,7 +157,7 @@ static PyMethodDef pwd_methods[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC initpwd(void) { PyObject *m; diff --git a/Modules/python.c b/Modules/python.c index 316dd3b6636c..f9262e8a20a7 100644 --- a/Modules/python.c +++ b/Modules/python.c @@ -2,8 +2,6 @@ #include "Python.h" -extern DL_EXPORT(int) Py_Main(int, char **); - int main(int argc, char **argv) { diff --git a/Modules/readline.c b/Modules/readline.c index afd80db98e8f..a2efd47f626b 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -652,7 +652,7 @@ call_readline(char *prompt) PyDoc_STRVAR(doc_module, "Importing this module enables command line editing using GNU readline."); -DL_EXPORT(void) +PyMODINIT_FUNC initreadline(void) { PyObject *m; diff --git a/Modules/regexmodule.c b/Modules/regexmodule.c index 4c7035e501ec..db541612e282 100644 --- a/Modules/regexmodule.c +++ b/Modules/regexmodule.c @@ -642,7 +642,7 @@ static struct PyMethodDef regex_global_methods[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC initregex(void) { PyObject *m, *d, *v; diff --git a/Modules/resource.c b/Modules/resource.c index 5ed98a1f0a38..b1dd5d1f35bb 100644 --- a/Modules/resource.c +++ b/Modules/resource.c @@ -210,7 +210,7 @@ resource_methods[] = { /* Module initialization */ -DL_EXPORT(void) +PyMODINIT_FUNC initresource(void) { PyObject *m, *v; diff --git a/Modules/rgbimgmodule.c b/Modules/rgbimgmodule.c index 596ea4f6717c..904c64b642ec 100644 --- a/Modules/rgbimgmodule.c +++ b/Modules/rgbimgmodule.c @@ -751,7 +751,7 @@ rgbimg_methods[] = { }; -DL_EXPORT(void) +PyMODINIT_FUNC initrgbimg(void) { PyObject *m, *d; diff --git a/Modules/rotormodule.c b/Modules/rotormodule.c index 7137b00b179a..dcca0c6174e2 100644 --- a/Modules/rotormodule.c +++ b/Modules/rotormodule.c @@ -615,7 +615,7 @@ rotor_methods[] = { }; -DL_EXPORT(void) +PyMODINIT_FUNC initrotor(void) { Rotor_Type.ob_type = &PyType_Type; diff --git a/Modules/shamodule.c b/Modules/shamodule.c index 14e51ea6eb58..5b9040d9a674 100644 --- a/Modules/shamodule.c +++ b/Modules/shamodule.c @@ -525,7 +525,7 @@ static struct PyMethodDef SHA_functions[] = { #define insint(n,v) { PyModule_AddIntConstant(m,n,v); } -DL_EXPORT(void) +PyMODINIT_FUNC initsha(void) { PyObject *m; diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index 25d5d94a5ae7..0f9574fe29b4 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -469,7 +469,7 @@ SIGINT, SIGTERM, etc. -- signal numbers\n\ A signal handler function is called with two arguments:\n\ the first is the signal number, the second is the interrupted stack frame."); -DL_EXPORT(void) +PyMODINIT_FUNC initsignal(void) { PyObject *m, *d, *x; diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 8024006c66f6..b9358b75108f 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -3008,7 +3008,7 @@ PyDoc_STRVAR(socket_doc, "Implementation module for socket operations. See the socket module\n\ for documentation."); -DL_EXPORT(void) +PyMODINIT_FUNC init_socket(void) { PyObject *m; diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c index 09bcc3d305ae..8eb64a070ae9 100644 --- a/Modules/stropmodule.c +++ b/Modules/stropmodule.c @@ -1203,7 +1203,7 @@ strop_methods[] = { }; -DL_EXPORT(void) +PyMODINIT_FUNC initstrop(void) { PyObject *m, *s; diff --git a/Modules/structmodule.c b/Modules/structmodule.c index 5d4de116d8a9..093cd7b9e1be 100644 --- a/Modules/structmodule.c +++ b/Modules/structmodule.c @@ -1499,7 +1499,7 @@ static PyMethodDef struct_methods[] = { /* Module initialization */ -DL_EXPORT(void) +PyMODINIT_FUNC initstruct(void) { PyObject *m; diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c index e24e72fb10f5..9854a1cf6c51 100644 --- a/Modules/symtablemodule.c +++ b/Modules/symtablemodule.c @@ -43,7 +43,7 @@ static PyMethodDef symtable_methods[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC init_symtable(void) { PyObject *m; diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index 2d886e1e5b80..75deb1b8d7c7 100644 --- a/Modules/syslogmodule.c +++ b/Modules/syslogmodule.c @@ -155,7 +155,7 @@ static PyMethodDef syslog_methods[] = { /* Initialization function for the module */ -DL_EXPORT(void) +PyMODINIT_FUNC initsyslog(void) { PyObject *m; diff --git a/Modules/termios.c b/Modules/termios.c index ed78ece933a8..3ace25c4e1bf 100644 --- a/Modules/termios.c +++ b/Modules/termios.c @@ -892,7 +892,7 @@ static struct constant { }; -DL_EXPORT(void) +PyMODINIT_FUNC PyInit_termios(void) { PyObject *m; diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c index b872dd02138e..896d4faa60a8 100644 --- a/Modules/threadmodule.c +++ b/Modules/threadmodule.c @@ -360,7 +360,7 @@ A lock is not owned by the thread that locked it; another thread may\n\ unlock it. A thread attempting to lock a lock that it has already locked\n\ will block until another thread unlocks it. Deadlocks may ensue."); -DL_EXPORT(void) +PyMODINIT_FUNC initthread(void) { PyObject *m, *d; diff --git a/Modules/timemodule.c b/Modules/timemodule.c index eb48c2bd1087..13da2ffe24ef 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -620,7 +620,7 @@ strftime() -- convert time tuple to string according to format specification\n\ strptime() -- parse string to time tuple according to format specification"); -DL_EXPORT(void) +PyMODINIT_FUNC inittime(void) { PyObject *m; diff --git a/Modules/timingmodule.c b/Modules/timingmodule.c index 4e10e3134904..56e057a656a3 100644 --- a/Modules/timingmodule.c +++ b/Modules/timingmodule.c @@ -52,7 +52,7 @@ static PyMethodDef timing_methods[] = { }; -DL_EXPORT(void) inittiming(void) +PyMODINIT_FUNC inittiming(void) { (void)Py_InitModule("timing", timing_methods); } diff --git a/Modules/xreadlinesmodule.c b/Modules/xreadlinesmodule.c index 8c6b91f201d3..3009768192d3 100644 --- a/Modules/xreadlinesmodule.c +++ b/Modules/xreadlinesmodule.c @@ -168,7 +168,7 @@ static PyMethodDef xreadlines_functions[] = { {NULL, NULL} }; -DL_EXPORT(void) +PyMODINIT_FUNC initxreadlines(void) { XReadlinesObject_Type.ob_type = &PyType_Type; diff --git a/Modules/xxmodule.c b/Modules/xxmodule.c index 2264dfb5c0e3..125d2ece1ab7 100644 --- a/Modules/xxmodule.c +++ b/Modules/xxmodule.c @@ -218,7 +218,7 @@ static PyMethodDef xx_methods[] = { /* Initialization function for the module (*must* be called initxx) */ -DL_EXPORT(void) +PyMODINIT_FUNC initxx(void) { PyObject *m; diff --git a/Modules/xxsubtype.c b/Modules/xxsubtype.c index 90134678d3f4..c826b6e633c3 100644 --- a/Modules/xxsubtype.c +++ b/Modules/xxsubtype.c @@ -263,7 +263,7 @@ static PyMethodDef xxsubtype_functions[] = { {NULL, NULL} /* sentinel */ }; -DL_EXPORT(void) +PyMODINIT_FUNC initxxsubtype(void) { PyObject *m; diff --git a/PC/WinMain.c b/PC/WinMain.c index 7ee1ad69f3e1..00dc18d484b9 100644 --- a/PC/WinMain.c +++ b/PC/WinMain.c @@ -5,8 +5,6 @@ #include "Python.h" -extern int Py_Main(int, char **); - int WINAPI WinMain( HINSTANCE hInstance, /* handle to current instance */ HINSTANCE hPrevInstance, /* handle to previous instance */