diff options
| author | 2011-09-26 17:50:45 +0200 | |
|---|---|---|
| committer | 2011-09-26 17:50:45 +0200 | |
| commit | 567a749696a4a01d1eccc01e61dd2b1d76c39b5a (patch) | |
| tree | be69f6fb50ea3e7f3bec2e331840ca4bf256ea62 | |
| parent | da9f709fadbcb63bc8f6b2dd4d917d920af3fe42 (diff) | |
| download | libplist-567a749696a4a01d1eccc01e61dd2b1d76c39b5a.tar.gz libplist-567a749696a4a01d1eccc01e61dd2b1d76c39b5a.tar.bz2 | |
Allow swig typemap to recognize any std::vector<char> as a python string.
| -rw-r--r-- | swig/plist.i | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/swig/plist.i b/swig/plist.i index 172a330..7755cc5 100644 --- a/swig/plist.i +++ b/swig/plist.i | |||
| @@ -11,15 +11,15 @@ | |||
| 11 | %include "stdint.i" | 11 | %include "stdint.i" |
| 12 | 12 | ||
| 13 | %typemap(out) std::vector<char> { | 13 | %typemap(out) std::vector<char> { |
| 14 | $result = SWIG_FromCharPtrAndSize((const char*)&($1[0]),(int)($1.size())); | 14 | $result = SWIG_FromCharPtrAndSize((const char*)&($1[0]),(size_t)($1.size())); |
| 15 | } | 15 | } |
| 16 | 16 | ||
| 17 | %typemap(in) (const std::vector<char>& v) | 17 | %typemap(in) (const std::vector<char>&) |
| 18 | { | 18 | { |
| 19 | char* buffer = NULL; | 19 | char* buffer = NULL; |
| 20 | int length = 0; | 20 | size_t length = 0; |
| 21 | SWIG_AsCharPtrAndSize($input, &buffer, &length, NULL); | 21 | SWIG_AsCharPtrAndSize($input, &buffer, &length, NULL); |
| 22 | $1 = std::vector<char>(buffer, buffer + length); | 22 | $1 = new std::vector<char>(buffer, buffer + length - 1); |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | #if SWIGPYTHON | 25 | #if SWIGPYTHON |
