mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
wchar_t might not be two bytes wide
This commit is contained in:
parent
a2009c81cb
commit
3804f89682
@ -2062,15 +2062,18 @@ void InterfaceMakerPythonNative::write_function_instance(ostream &out, Interface
|
||||
parameter_list += ", &" + param_name;
|
||||
|
||||
} else if (TypeManager::is_wstring(orig_type)) {
|
||||
indent(out,indent_level) << "Py_UNICODE *" << param_name
|
||||
<< "_str; int " << param_name << "_len";
|
||||
format_specifiers += "u#";
|
||||
parameter_list += ", &" + param_name
|
||||
+ "_str, &" + param_name + "_len";
|
||||
indent(out,indent_level) << "PyUnicodeObject *" << param_name << "\n";
|
||||
format_specifiers += "U";
|
||||
parameter_list += ", &" + param_name;
|
||||
|
||||
extra_convert += " int " + param_name + "_len = PyUnicode_GetSize((PyObject *)" + param_name + "); wchar_t *" + param_name + "_str = new wchar_t[" + param_name + "_len]; PyUnicode_AsWideChar(" + param_name + ", " + param_name + "_str, " + param_name + "_len);";
|
||||
|
||||
pexpr_string = "basic_string<wchar_t>((wchar_t *)" +
|
||||
param_name + "_str, " +
|
||||
param_name + "_len)";
|
||||
|
||||
extra_cleanup += " delete[] " + param_name + "_str;";
|
||||
|
||||
} else {
|
||||
indent(out,indent_level) << "char *" << param_name
|
||||
<< "_str; int " << param_name << "_len";
|
||||
|
Loading…
x
Reference in New Issue
Block a user