From 88c643b6fec27eec436c8d138fee6346e92337d6 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Tue, 20 Aug 2019 18:01:57 +0000 Subject: Remove upstream files and directories from vendor/lldb/dist that we do not use. This saves on repository space, and reduces the number of tree conflicts when merging. --- scripts/Python/modules/readline/readline.cpp | 87 ---------------------------- 1 file changed, 87 deletions(-) delete mode 100644 scripts/Python/modules/readline/readline.cpp (limited to 'scripts/Python/modules/readline/readline.cpp') diff --git a/scripts/Python/modules/readline/readline.cpp b/scripts/Python/modules/readline/readline.cpp deleted file mode 100644 index b84dbb819f995..0000000000000 --- a/scripts/Python/modules/readline/readline.cpp +++ /dev/null @@ -1,87 +0,0 @@ -// NOTE: Since Python may define some pre-processor definitions which affect the -// standard headers on some systems, you must include Python.h before any -// standard headers are included. -#include "Python.h" - -#include - -#ifndef LLDB_DISABLE_LIBEDIT -#include -#endif - -// Simple implementation of the Python readline module using libedit. -// In the event that libedit is excluded from the build, this turns -// back into a null implementation that blocks the module from pulling -// in the GNU readline shared lib, which causes linkage confusion when -// both readline and libedit's readline compatibility symbols collide. -// -// Currently it only installs a PyOS_ReadlineFunctionPointer, without -// implementing any of the readline module methods. This is meant to -// work around LLVM pr18841 to avoid seg faults in the stock Python -// readline.so linked against GNU readline. - -#ifndef LLDB_DISABLE_LIBEDIT -PyDoc_STRVAR(moduleDocumentation, - "Simple readline module implementation based on libedit."); -#else -PyDoc_STRVAR(moduleDocumentation, - "Stub module meant to avoid linking GNU readline."); -#endif - -#if PY_MAJOR_VERSION >= 3 -static struct PyModuleDef readline_module = { - PyModuleDef_HEAD_INIT, // m_base - "readline", // m_name - moduleDocumentation, // m_doc - -1, // m_size - nullptr, // m_methods - nullptr, // m_reload - nullptr, // m_traverse - nullptr, // m_clear - nullptr, // m_free -}; -#else -static struct PyMethodDef moduleMethods[] = {{nullptr, nullptr, 0, nullptr}}; -#endif - -#ifndef LLDB_DISABLE_LIBEDIT -static char * -#if PY_MAJOR_VERSION >= 3 -simple_readline(FILE *stdin, FILE *stdout, const char *prompt) -#else -simple_readline(FILE *stdin, FILE *stdout, char *prompt) -#endif -{ - rl_instream = stdin; - rl_outstream = stdout; - char *line = readline(prompt); - if (!line) { - char *ret = (char *)PyMem_Malloc(1); - if (ret != NULL) - *ret = '\0'; - return ret; - } - if (*line) - add_history(line); - int n = strlen(line); - char *ret = (char *)PyMem_Malloc(n + 2); - strncpy(ret, line, n); - free(line); - ret[n] = '\n'; - ret[n + 1] = '\0'; - return ret; -} -#endif - -PyMODINIT_FUNC initreadline(void) { -#ifndef LLDB_DISABLE_LIBEDIT - PyOS_ReadlineFunctionPointer = simple_readline; -#endif - -#if PY_MAJOR_VERSION >= 3 - return PyModule_Create(&readline_module); -#else - Py_InitModule4("readline", moduleMethods, moduleDocumentation, - static_cast(NULL), PYTHON_API_VERSION); -#endif -} -- cgit v1.2.3