[Python-checkins] python/dist/src/Python dynload_shlib.c,2.14,2.15 sysmodule.c,2.117,2.118
loewis@users.sourceforge.net
loewis@users.sourceforge.net
Sat, 03 May 2003 02:14:56 -0700
- Previous message: [Python-checkins] python/dist/src/Modules bz2module.c,1.18,1.19 fcntlmodule.c,2.38,2.39 fpectlmodule.c,2.18,2.19 grpmodule.c,2.20,2.21 mmapmodule.c,2.44,2.45 posixmodule.c,2.298,2.299 socketmodule.c,1.262,1.263 socketmodule.h,1.8,1.9
- Next message: [Python-checkins] python/dist/src/Modules _tkinter.c,1.156,1.157
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1:/tmp/cvs-serv20733/Python
Modified Files:
dynload_shlib.c sysmodule.c
Log Message:
Patch #708495: Port more stuff to OpenVMS.
Index: dynload_shlib.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/dynload_shlib.c,v
retrieving revision 2.14
retrieving revision 2.15
diff -C2 -d -r2.14 -r2.15
*** dynload_shlib.c 26 Feb 2002 11:41:34 -0000 2.14
--- dynload_shlib.c 3 May 2003 09:14:53 -0000 2.15
***************
*** 41,48 ****
--- 41,55 ----
{".dll", "rb", C_EXTENSION},
#else
+ #ifdef __VMS
+ {".exe", "rb", C_EXTENSION},
+ {".EXE", "rb", C_EXTENSION},
+ {"module.exe", "rb", C_EXTENSION},
+ {"MODULE.EXE", "rb", C_EXTENSION},
+ #else
{".so", "rb", C_EXTENSION},
{"module.so", "rb", C_EXTENSION},
#endif
#endif
+ #endif
{0, 0}
};
***************
*** 50,54 ****
--- 57,65 ----
static struct {
dev_t dev;
+ #ifdef __VMS
+ ino_t ino[3];
+ #else
ino_t ino;
+ #endif
void *handle;
} handles[128];
***************
*** 88,92 ****
--- 99,109 ----
if (nhandles < 128) {
handles[nhandles].dev = statb.st_dev;
+ #ifdef __VMS
+ handles[nhandles].ino[0] = statb.st_ino[0];
+ handles[nhandles].ino[1] = statb.st_ino[1];
+ handles[nhandles].ino[2] = statb.st_ino[2];
+ #else
handles[nhandles].ino = statb.st_ino;
+ #endif
}
}
***************
*** 98,101 ****
--- 115,129 ----
if (Py_VerboseFlag)
printf("dlopen(\"%s\", %x);\n", pathname, dlopenflags);
+
+ #ifdef __VMS
+ /* VMS currently don't allow a pathname, use a logical name instead */
+ /* Concatenate 'python_module_' and shortname */
+ /* so "import vms.bar" will use the logical python_module_bar */
+ /* As C module use only one name space this is probably not a */
+ /* important limitation */
+ PyOS_snprintf(pathbuf, sizeof(pathbuf), "python_module_%-.200s",
+ shortname);
+ pathname = pathbuf;
+ #endif
handle = dlopen(pathname, dlopenflags);
Index: sysmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/sysmodule.c,v
retrieving revision 2.117
retrieving revision 2.118
diff -C2 -d -r2.117 -r2.118
*** sysmodule.c 9 Apr 2003 19:06:19 -0000 2.117
--- sysmodule.c 3 May 2003 09:14:54 -0000 2.118
***************
*** 33,36 ****
--- 33,40 ----
#endif
+ #ifdef __VMS
+ #include <unixlib.h>
+ #endif
+
PyObject *
PySys_GetObject(char *name)
***************
*** 1051,1055 ****
--- 1055,1074 ----
int i;
for (i = 0; i < argc; i++) {
+ #ifdef __VMS
+ PyObject *v;
+
+ /* argv[0] is the script pathname if known */
+ if (i == 0) {
+ char* fn = decc$translate_vms(argv[0]);
+ if ((fn == (char *)0) || fn == (char *)-1)
+ v = PyString_FromString(argv[0]);
+ else
+ v = PyString_FromString(
+ decc$translate_vms(argv[0]));
+ } else
+ v = PyString_FromString(argv[i]);
+ #else
PyObject *v = PyString_FromString(argv[i]);
+ #endif
if (v == NULL) {
Py_DECREF(av);
- Previous message: [Python-checkins] python/dist/src/Modules bz2module.c,1.18,1.19 fcntlmodule.c,2.38,2.39 fpectlmodule.c,2.18,2.19 grpmodule.c,2.20,2.21 mmapmodule.c,2.44,2.45 posixmodule.c,2.298,2.299 socketmodule.c,1.262,1.263 socketmodule.h,1.8,1.9
- Next message: [Python-checkins] python/dist/src/Modules _tkinter.c,1.156,1.157
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]