]> granicus.if.org Git - python/commitdiff
Issue #19512: fileio_init() reuses PyId_name identifier instead of "name"
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Nov 2013 22:50:10 +0000 (23:50 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Nov 2013 22:50:10 +0000 (23:50 +0100)
literal string

Modules/_io/fileio.c

index 27995e543b03002861c421e0e465032734504b9a..0e1e709efd9456a8ed2dfabbe8846803470be70e 100644 (file)
@@ -59,6 +59,8 @@ typedef struct {
 
 PyTypeObject PyFileIO_Type;
 
+_Py_IDENTIFIER(name);
+
 #define PyFileIO_Check(op) (PyObject_TypeCheck((op), &PyFileIO_Type))
 
 int
@@ -427,7 +429,7 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
     _setmode(self->fd, O_BINARY);
 #endif
 
-    if (PyObject_SetAttrString((PyObject *)self, "name", nameobj) < 0)
+    if (_PyObject_SetAttrId((PyObject *)self, &PyId_name, nameobj) < 0)
         goto error;
 
     if (self->appending) {
@@ -1036,7 +1038,6 @@ mode_string(fileio *self)
 static PyObject *
 fileio_repr(fileio *self)
 {
-    _Py_IDENTIFIER(name);
     PyObject *nameobj, *res;
 
     if (self->fd < 0)