bool should return a bool

This commit is contained in:
David Rose 2011-09-28 17:42:46 +00:00
parent 8525e325c3
commit 6bed0cf394
3 changed files with 31 additions and 18 deletions

View File

@ -2871,32 +2871,37 @@ void InterfaceMakerPythonNative::pack_return_value(ostream &out, int indent_leve
<< return_expr << ".data(), (int)" << return_expr << ".length());\n";
}
} else if (TypeManager::is_bool(type)) {
indent(out, indent_level)
<< "return PyBool_FromLong(" << return_expr << ");\n";
} else if (TypeManager::is_unsigned_longlong(type)) {
indent(out, indent_level)
<< "return PyLong_FromUnsignedLongLong(" << return_expr << ");\n";
} else if (TypeManager::is_longlong(type)) {
indent(out, indent_level)
<< "return PyLong_FromLongLong(" << return_expr << ");\n";
indent(out, indent_level)
<< "return PyLong_FromLongLong(" << return_expr << ");\n";
} else if(TypeManager::is_unsigned_integer(type)){
indent(out, indent_level)
<< "return PyLongOrInt_FromUnsignedLong(" << return_expr << ");\n";
}else if (TypeManager::is_integer(type)) {
indent(out, indent_level)
<< "return PyInt_FromLong(" << return_expr << ");\n";
} else if(TypeManager::is_unsigned_integer(type)){
indent(out, indent_level)
<< "return PyLongOrInt_FromUnsignedLong(" << return_expr << ");\n";
} else if (TypeManager::is_integer(type)) {
indent(out, indent_level)
<< "return PyInt_FromLong(" << return_expr << ");\n";
} else if (TypeManager::is_float(type)) {
indent(out, indent_level)
<< "return PyFloat_FromDouble(" << return_expr << ");\n";
indent(out, indent_level)
<< "return PyFloat_FromDouble(" << return_expr << ");\n";
} else if (TypeManager::is_char_pointer(type)) {
indent(out, indent_level)<<"if("<< return_expr<< " == NULL)\n";
indent(out, indent_level)<<"{\n";
indent(out, indent_level)<<" Py_INCREF(Py_None);\n";
indent(out, indent_level)<<" return Py_None;\n";
indent(out, indent_level)<<"}\n";
indent(out, indent_level)
indent(out, indent_level)<<"if("<< return_expr<< " == NULL)\n";
indent(out, indent_level)<<"{\n";
indent(out, indent_level)<<" Py_INCREF(Py_None);\n";
indent(out, indent_level)<<" return Py_None;\n";
indent(out, indent_level)<<"}\n";
indent(out, indent_level)
<< "return PyString_FromString(" << return_expr << ");\n";
}

View File

@ -562,6 +562,10 @@ pack_return_value(ostream &out, int indent_level,
<< return_expr << ".data(), " << return_expr << ".length());\n";
}
} else if (TypeManager::is_bool(type)) {
indent(out, indent_level)
<< "return PyBool_FromLong(" << return_expr << ");\n";
} else if (TypeManager::is_unsigned_longlong(type)) {
indent(out, indent_level)
<< "return PyLong_FromUnsignedLongLong(" << return_expr << ");\n";

View File

@ -466,6 +466,10 @@ pack_return_value(ostream &out, int indent_level,
<< return_expr << ".data(), " << return_expr << ".length());\n";
}
} else if (TypeManager::is_bool(type)) {
indent(out, indent_level)
<< "return PyBool_FromLong(" << return_expr << ");\n";
} else if (TypeManager::is_unsigned_longlong(type))
{
indent(out, indent_level)