swig/Examples/test-suite/unicode_strings.i
William S Fulton b0e29fbdf3 Add missing checks for failures in calls to PyUnicode_AsUTF8String.
Previously a seg fault could occur when passing invalid UTF8 strings (low
surrogates), eg passing u"\udcff" to the C layer (Python 3).
2017-12-04 20:14:04 +00:00

25 lines
359 B
OpenEdge ABL

%module unicode_strings
%include <std_string.i>
%begin %{
#define SWIG_PYTHON_2_UNICODE
%}
%inline %{
const char* non_utf8_c_str(void) {
return "h\xe9llo w\xc3\xb6rld";
}
std::string non_utf8_std_string(void) {
return std::string("h\xe9llo w\xc3\xb6rld");
}
char *charstring(char *s) {
return s;
}
void instring(const char *s) {
}
%}