diff options
-rw-r--r-- | Modules/readline.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/Modules/readline.c b/Modules/readline.c index d0e3b91..811fca8 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -1352,13 +1352,27 @@ PyInit_readline(void) if (m == NULL) return NULL; + if (PyModule_AddIntConstant(m, "_READLINE_VERSION", + RL_READLINE_VERSION) < 0) { + goto error; + } + if (PyModule_AddIntConstant(m, "_READLINE_RUNTIME_VERSION", + rl_readline_version) < 0) { + goto error; + } + if (PyModule_AddStringConstant(m, "_READLINE_LIBRARY_VERSION", + rl_library_version) < 0) + { + goto error; + } + mod_state = (readlinestate *) PyModule_GetState(m); PyOS_ReadlineFunctionPointer = call_readline; setup_readline(mod_state); - PyModule_AddIntConstant(m, "_READLINE_VERSION", RL_READLINE_VERSION); - PyModule_AddIntConstant(m, "_READLINE_RUNTIME_VERSION", rl_readline_version); - PyModule_AddStringConstant(m, "_READLINE_LIBRARY_VERSION", rl_library_version); - return m; + +error: + Py_DECREF(m); + return NULL; } |