diff Python/sysmodule.c @ 28949:ac487a7f7f2c legacy-trunk

Patch #708495: Port more stuff to OpenVMS.
author Martin v. Löwis <martin@v.loewis.de>
date Sat, 03 May 2003 09:14:54 +0000
parents 78395e5b4782
children bf1634b023d5
line wrap: on
line diff
--- a/Python/sysmodule.c	Sat May 03 09:09:02 2003 +0000
+++ b/Python/sysmodule.c	Sat May 03 09:14:54 2003 +0000
@@ -32,6 +32,10 @@
 extern const char *PyWin_DLLVersionString;
 #endif
 
+#ifdef __VMS
+#include <unixlib.h>
+#endif
+
 PyObject *
 PySys_GetObject(char *name)
 {
@@ -1050,7 +1054,22 @@
 	if (av != NULL) {
 		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);
 				av = NULL;