[Lldb-commits] [lldb] r258742 - Fix more occurrences of string/bytes/bytearray in swig typemaps.
Zachary Turner via lldb-commits
lldb-commits at lists.llvm.org
Mon Jan 25 15:21:13 PST 2016
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;
}
}
More information about the lldb-commits
mailing list