diff options
Diffstat (limited to 'lldb/scripts/Python')
-rw-r--r-- | lldb/scripts/Python/interface/SBCommandInterpreter.i | 2 | ||||
-rw-r--r-- | lldb/scripts/Python/interface/SBProcess.i | 4 | ||||
-rw-r--r-- | lldb/scripts/Python/python-typemaps.swig | 9 |
3 files changed, 15 insertions, 0 deletions
diff --git a/lldb/scripts/Python/interface/SBCommandInterpreter.i b/lldb/scripts/Python/interface/SBCommandInterpreter.i index 6a5ee2466b0..ec9e51c561a 100644 --- a/lldb/scripts/Python/interface/SBCommandInterpreter.i +++ b/lldb/scripts/Python/interface/SBCommandInterpreter.i @@ -99,8 +99,10 @@ public: lldb::SBProcess GetProcess (); +#if 0 ssize_t WriteToScriptInterpreter (const char *src); +#endif ssize_t WriteToScriptInterpreter (const char *src, size_t src_len); diff --git a/lldb/scripts/Python/interface/SBProcess.i b/lldb/scripts/Python/interface/SBProcess.i index 531cd5903cf..b2ab9231a26 100644 --- a/lldb/scripts/Python/interface/SBProcess.i +++ b/lldb/scripts/Python/interface/SBProcess.i @@ -64,6 +64,10 @@ public: lldb::ByteOrder GetByteOrder() const; + %feature("autodoc", " + Writes data into the current process's stdin. API client specifies a Python + string as the only argument. + ") PutSTDIN; size_t PutSTDIN (const char *src, size_t src_len); diff --git a/lldb/scripts/Python/python-typemaps.swig b/lldb/scripts/Python/python-typemaps.swig index 5fbe161aa4c..55f2819ce0c 100644 --- a/lldb/scripts/Python/python-typemaps.swig +++ b/lldb/scripts/Python/python-typemaps.swig @@ -76,6 +76,15 @@ $1 = (char *) PyString_AsString($input); $2 = PyString_Size($input); } +// Ditto for SBProcess::PutSTDIN(const char *src, size_t src_len). +%typemap(in) (const char *src, size_t src_len) { + if (!PyString_Check($input)) { + PyErr_SetString(PyExc_ValueError, "Expecting a string"); + return NULL; + } + $1 = (char *) PyString_AsString($input); + $2 = PyString_Size($input); +} // And SBProcess::WriteMemory. %typemap(in) (const void *buf, size_t size) { if (!PyString_Check($input)) { |