From 524636ef1c004a17022c849eb1a0a36304ee9b96 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Tue, 18 Feb 2003 17:13:13 +0000 Subject: [PATCH] Allow returning std::strings with embedded null characters (why one would want to do this is beyond my understanding) git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4337 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- SWIG/Lib/python/std_common.i | 2 +- SWIG/Lib/python/std_string.i | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SWIG/Lib/python/std_common.i b/SWIG/Lib/python/std_common.i index 4fe1a8264..804f986fa 100644 --- a/SWIG/Lib/python/std_common.i +++ b/SWIG/Lib/python/std_common.i @@ -20,7 +20,7 @@ double SwigNumber_AsDouble(PyObject* o) { : double(PyLong_AsLong(o))); } PyObject* SwigString_FromString(const std::string& s) { - return PyString_FromString(s.c_str()); + return PyString_FromStringAndSize(s.data(),s.size()); } std::string SwigString_AsString(PyObject* o) { return std::string(PyString_AsString(o)); diff --git a/SWIG/Lib/python/std_string.i b/SWIG/Lib/python/std_string.i index 2e63ef318..30d1afb7d 100644 --- a/SWIG/Lib/python/std_string.i +++ b/SWIG/Lib/python/std_string.i @@ -44,11 +44,11 @@ namespace std { } %typemap(out) string { - $result = PyString_FromString($1.c_str()); + $result = PyString_FromStringAndSize($1.data(),$1.size()); } %typemap(out) const string & { - $result = PyString_FromString($1->c_str()); + $result = PyString_FromStringAndSize($1->data(),$1->size()); } }