diff Python/compile.c @ 23950:f7ce696979e1 legacy-trunk

SF 569257 -- Name mangle double underscored variable names in __slots__.
author Raymond Hettinger <python@rcn.com>
date Thu, 20 Jun 2002 22:23:15 +0000
parents 8e6760bf1884
children f79c7aae6620
line wrap: on
line diff
--- a/Python/compile.c	Thu Jun 20 22:07:04 2002 +0000
+++ b/Python/compile.c	Thu Jun 20 22:23:15 2002 +0000
@@ -928,8 +928,8 @@
 	return com_add(c, c->c_names, c->c_name_dict, v);
 }
 
-static int
-mangle(char *p, char *name, char *buffer, size_t maxlen)
+int
+_Py_Mangle(char *p, char *name, char *buffer, size_t maxlen)
 {
 	/* Name mangling: __private becomes _classname__private.
 	   This is independent from how the name is used. */
@@ -963,7 +963,7 @@
 	int i;
 	char buffer[MANGLE_LEN];
 
-	if (mangle(c->c_private, name, buffer, sizeof(buffer)))
+	if (_Py_Mangle(c->c_private, name, buffer, sizeof(buffer)))
 		name = buffer;
 	if (name == NULL || (v = PyString_InternFromString(name)) == NULL) {
 		c->c_errors++;
@@ -1000,7 +1000,7 @@
 	int op = STOP_CODE;
 	char buffer[MANGLE_LEN];
 
-	if (mangle(c->c_private, name, buffer, sizeof(buffer)))
+	if (_Py_Mangle(c->c_private, name, buffer, sizeof(buffer)))
 		name = buffer;
 	if (name == NULL || (v = PyString_InternFromString(name)) == NULL) {
 		c->c_errors++;
@@ -4956,7 +4956,7 @@
 	PyObject *v;
 	int flags;
 
-	if (mangle(st->st_private, name, buffer, sizeof(buffer)))
+	if (_Py_Mangle(st->st_private, name, buffer, sizeof(buffer)))
 		name = buffer;
 	v = PyDict_GetItemString(st->st_cur->ste_symbols, name);
 	if (v == NULL) {
@@ -4977,7 +4977,7 @@
 	char buffer[MANGLE_LEN];
 	int ret;
 
-	if (mangle(st->st_private, name, buffer, sizeof(buffer)))
+	if (_Py_Mangle(st->st_private, name, buffer, sizeof(buffer)))
 		name = buffer;
 	if ((s = PyString_InternFromString(name)) == NULL)
 		return -1;