summaryrefslogtreecommitdiffstats
path: root/Modules/_io
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-01-18 15:19:19 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-01-18 15:19:19 (GMT)
commitbb5b92d324c06e586dfaef1c980e3de2e94e86ae (patch)
tree54254a6d2fda03cee135834ff597d18b7cf63a28 /Modules/_io
parentfff47ab342e79d02cf871980987b8b30b2f09c37 (diff)
parentfc1b6f0078a6bda75b571ee7877328c8ca82877d (diff)
downloadcpython-bb5b92d324c06e586dfaef1c980e3de2e94e86ae.zip
cpython-bb5b92d324c06e586dfaef1c980e3de2e94e86ae.tar.gz
cpython-bb5b92d324c06e586dfaef1c980e3de2e94e86ae.tar.bz2
Merge refleak fixes from 3.2
Diffstat (limited to 'Modules/_io')
-rw-r--r--Modules/_io/_iomodule.c95
1 files changed, 41 insertions, 54 deletions
diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c
index f9bca1a..e046917 100644
--- a/Modules/_io/_iomodule.c
+++ b/Modules/_io/_iomodule.c
@@ -677,60 +677,47 @@ PyInit__io(void)
ADD_TYPE(&PyIncrementalNewlineDecoder_Type, "IncrementalNewlineDecoder");
/* Interned strings */
- if (!(_PyIO_str_close = PyUnicode_InternFromString("close")))
- goto fail;
- if (!(_PyIO_str_closed = PyUnicode_InternFromString("closed")))
- goto fail;
- if (!(_PyIO_str_decode = PyUnicode_InternFromString("decode")))
- goto fail;
- if (!(_PyIO_str_encode = PyUnicode_InternFromString("encode")))
- goto fail;
- if (!(_PyIO_str_fileno = PyUnicode_InternFromString("fileno")))
- goto fail;
- if (!(_PyIO_str_flush = PyUnicode_InternFromString("flush")))
- goto fail;
- if (!(_PyIO_str_getstate = PyUnicode_InternFromString("getstate")))
- goto fail;
- if (!(_PyIO_str_isatty = PyUnicode_InternFromString("isatty")))
- goto fail;
- if (!(_PyIO_str_newlines = PyUnicode_InternFromString("newlines")))
- goto fail;
- if (!(_PyIO_str_nl = PyUnicode_InternFromString("\n")))
- goto fail;
- if (!(_PyIO_str_read = PyUnicode_InternFromString("read")))
- goto fail;
- if (!(_PyIO_str_read1 = PyUnicode_InternFromString("read1")))
- goto fail;
- if (!(_PyIO_str_readable = PyUnicode_InternFromString("readable")))
- goto fail;
- if (!(_PyIO_str_readall = PyUnicode_InternFromString("readall")))
- goto fail;
- if (!(_PyIO_str_readinto = PyUnicode_InternFromString("readinto")))
- goto fail;
- if (!(_PyIO_str_readline = PyUnicode_InternFromString("readline")))
- goto fail;
- if (!(_PyIO_str_reset = PyUnicode_InternFromString("reset")))
- goto fail;
- if (!(_PyIO_str_seek = PyUnicode_InternFromString("seek")))
- goto fail;
- if (!(_PyIO_str_seekable = PyUnicode_InternFromString("seekable")))
- goto fail;
- if (!(_PyIO_str_setstate = PyUnicode_InternFromString("setstate")))
- goto fail;
- if (!(_PyIO_str_tell = PyUnicode_InternFromString("tell")))
- goto fail;
- if (!(_PyIO_str_truncate = PyUnicode_InternFromString("truncate")))
- goto fail;
- if (!(_PyIO_str_write = PyUnicode_InternFromString("write")))
- goto fail;
- if (!(_PyIO_str_writable = PyUnicode_InternFromString("writable")))
- goto fail;
-
- if (!(_PyIO_empty_str = PyUnicode_FromStringAndSize(NULL, 0)))
- goto fail;
- if (!(_PyIO_empty_bytes = PyBytes_FromStringAndSize(NULL, 0)))
- goto fail;
- if (!(_PyIO_zero = PyLong_FromLong(0L)))
+#define ADD_INTERNED(name) \
+ if (!_PyIO_str_ ## name && \
+ !(_PyIO_str_ ## name = PyUnicode_InternFromString(# name))) \
+ goto fail;
+
+ ADD_INTERNED(close)
+ ADD_INTERNED(closed)
+ ADD_INTERNED(decode)
+ ADD_INTERNED(encode)
+ ADD_INTERNED(fileno)
+ ADD_INTERNED(flush)
+ ADD_INTERNED(getstate)
+ ADD_INTERNED(isatty)
+ ADD_INTERNED(newlines)
+ ADD_INTERNED(read)
+ ADD_INTERNED(read1)
+ ADD_INTERNED(readable)
+ ADD_INTERNED(readall)
+ ADD_INTERNED(readinto)
+ ADD_INTERNED(readline)
+ ADD_INTERNED(reset)
+ ADD_INTERNED(seek)
+ ADD_INTERNED(seekable)
+ ADD_INTERNED(setstate)
+ ADD_INTERNED(tell)
+ ADD_INTERNED(truncate)
+ ADD_INTERNED(write)
+ ADD_INTERNED(writable)
+
+ if (!_PyIO_str_nl &&
+ !(_PyIO_str_nl = PyUnicode_InternFromString("\n")))
+ goto fail;
+
+ if (!_PyIO_empty_str &&
+ !(_PyIO_empty_str = PyUnicode_FromStringAndSize(NULL, 0)))
+ goto fail;
+ if (!_PyIO_empty_bytes &&
+ !(_PyIO_empty_bytes = PyBytes_FromStringAndSize(NULL, 0)))
+ goto fail;
+ if (!_PyIO_zero &&
+ !(_PyIO_zero = PyLong_FromLong(0L)))
goto fail;
state->initialized = 1;