Py_BuildValue():  Add "D" conversion to create a Python complex value from
    a Py_complex C value.

Patch by Walter Dörwald.
This partially closes SF patch #407148.
diff --git a/Python/modsupport.c b/Python/modsupport.c
index ef36d10..0868589 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -286,6 +286,12 @@
 			return PyFloat_FromDouble(
 				(double)va_arg(*p_va, va_double));
 
+#ifndef WITHOUT_COMPLEX
+		case 'D':
+			return PyComplex_FromCComplex(
+				*((Py_complex *)va_arg(*p_va, Py_complex *)));
+#endif /* WITHOUT_COMPLEX */
+
 		case 'c':
 		{
 			char p[1];