Author: zturner Date: Mon Jan 25 17:21:13 2016 New Revision: 258742 URL: http://llvm.org/viewvc/llvm-project?rev=258742&view=rev Log: Fix more occurrences of string/bytes/bytearray in swig typemaps.
Modified: lldb/trunk/scripts/Python/python-typemaps.swig Modified: lldb/trunk/scripts/Python/python-typemaps.swig URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/python-typemaps.swig?rev=258742&r1=258741&r2=258742&view=diff ============================================================================== --- lldb/trunk/scripts/Python/python-typemaps.swig (original) +++ lldb/trunk/scripts/Python/python-typemaps.swig Mon Jan 25 17:21:13 2016 @@ -136,13 +136,21 @@ } // Ditto for SBProcess::PutSTDIN(const char *src, size_t src_len). %typemap(in) (const char *src, size_t src_len) { - if (PyString_Check($input)) { - $1 = (char *) PyString_AsString($input); - $2 = PyString_Size($input); - } - else if(PyByteArray_Check($input)) { - $1 = (char *) PyByteArray_AsString($input); - $2 = PyByteArray_Size($input); + using namespace lldb_private; + if (PythonString::Check($input)) { + PythonString str(PyRefType::Borrowed, $input); + $1 = (char*)str.GetString().data(); + $2 = str.GetSize(); + } + else if(PythonByteArray::Check($input)) { + PythonByteArray bytearray(PyRefType::Borrowed, $input); + $1 = (char*)bytearray.GetBytes().data(); + $2 = bytearray.GetSize(); + } + else if (PythonBytes::Check($input)) { + PythonBytes bytes(PyRefType::Borrowed, $input); + $1 = (char*)bytes.GetBytes().data(); + $2 = bytes.GetSize(); } else { PyErr_SetString(PyExc_ValueError, "Expecting a string"); @@ -151,32 +159,48 @@ } // And SBProcess::WriteMemory. %typemap(in) (const void *buf, size_t size) { - if (PyString_Check($input)) { - $1 = (void *) PyString_AsString($input); - $2 = PyString_Size($input); - } - else if(PyByteArray_Check($input)) { - $1 = (void *) PyByteArray_AsString($input); - $2 = PyByteArray_Size($input); + using namespace lldb_private; + if (PythonString::Check($input)) { + PythonString str(PyRefType::Borrowed, $input); + $1 = (void*)str.GetString().data(); + $2 = str.GetSize(); + } + else if(PythonByteArray::Check($input)) { + PythonByteArray bytearray(PyRefType::Borrowed, $input); + $1 = (void*)bytearray.GetBytes().data(); + $2 = bytearray.GetSize(); + } + else if (PythonBytes::Check($input)) { + PythonBytes bytes(PyRefType::Borrowed, $input); + $1 = (void*)bytes.GetBytes().data(); + $2 = bytes.GetSize(); } else { - PyErr_SetString(PyExc_ValueError, "Expecting a string"); + PyErr_SetString(PyExc_ValueError, "Expecting a buffer"); return NULL; } } // For SBDebugger::DispatchInput %typemap(in) (const void *data, size_t data_len) { - if (PyString_Check($input)) { - $1 = static_cast<void *>(PyString_AsString($input)); - $2 = PyString_Size($input); - } - else if(PyByteArray_Check($input)) { - $1 = static_cast<void *>(PyByteArray_AsString($input)); - $2 = PyByteArray_Size($input); + using namespace lldb_private; + if (PythonString::Check($input)) { + PythonString str(PyRefType::Borrowed, $input); + $1 = (void*)str.GetString().data(); + $2 = str.GetSize(); + } + else if(PythonByteArray::Check($input)) { + PythonByteArray bytearray(PyRefType::Borrowed, $input); + $1 = (void*)bytearray.GetBytes().data(); + $2 = bytearray.GetSize(); + } + else if (PythonBytes::Check($input)) { + PythonBytes bytes(PyRefType::Borrowed, $input); + $1 = (void*)bytes.GetBytes().data(); + $2 = bytes.GetSize(); } else { - PyErr_SetString(PyExc_ValueError, "Expecting a string or byte array"); + PyErr_SetString(PyExc_ValueError, "Expecting a buffer"); return NULL; } } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits