1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
////////////////////// Print.proto //////////////////////
static int __Pyx_Print(PyObject*, PyObject *, int); /*proto*/
////////////////////// Print.module_state_decls /////////////
//@substitute: naming
PyObject* $print_function;
PyObject* $print_function_kwargs;
////////////////////// Print.cleanup //////////////////////
Py_CLEAR(NAMED_CGLOBAL(print_function));
Py_CLEAR(NAMED_CGLOBAL(print_function_kwargs));
////////////////////// Print //////////////////////
static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
PyObject* kwargs = 0;
PyObject* result = 0;
PyObject* end_string;
if (unlikely(!NAMED_CGLOBAL(print_function))) {
NAMED_CGLOBAL(print_function) = PyObject_GetAttr(NAMED_CGLOBAL(builtins_cname), PYIDENT("print"));
if (!NAMED_CGLOBAL(print_function))
return -1;
}
if (stream) {
kwargs = PyDict_New();
if (unlikely(!kwargs))
return -1;
if (unlikely(PyDict_SetItem(kwargs, PYIDENT("file"), stream) < 0))
goto bad;
if (!newline) {
end_string = PyUnicode_FromStringAndSize(" ", 1);
if (unlikely(!end_string))
goto bad;
if (PyDict_SetItem(kwargs, PYIDENT("end"), end_string) < 0) {
Py_DECREF(end_string);
goto bad;
}
Py_DECREF(end_string);
}
} else if (!newline) {
if (unlikely(!NAMED_CGLOBAL(print_function_kwargs))) {
NAMED_CGLOBAL(print_function_kwargs) = PyDict_New();
if (unlikely(!NAMED_CGLOBAL(print_function_kwargs)))
return -1;
end_string = PyUnicode_FromStringAndSize(" ", 1);
if (unlikely(!end_string))
return -1;
if (PyDict_SetItem(NAMED_CGLOBAL(print_function_kwargs), PYIDENT("end"), end_string) < 0) {
Py_DECREF(end_string);
return -1;
}
Py_DECREF(end_string);
}
kwargs = NAMED_CGLOBAL(print_function_kwargs);
}
result = PyObject_Call(NAMED_CGLOBAL(print_function), arg_tuple, kwargs);
if (unlikely(kwargs) && (kwargs != NAMED_CGLOBAL(print_function_kwargs)))
Py_DECREF(kwargs);
if (!result)
return -1;
Py_DECREF(result);
return 0;
bad:
if (kwargs != NAMED_CGLOBAL(print_function_kwargs))
Py_XDECREF(kwargs);
return -1;
}
////////////////////// PrintOne.proto //////////////////////
//@requires: Print
static int __Pyx_PrintOne(PyObject* stream, PyObject *o); /*proto*/
////////////////////// PrintOne //////////////////////
static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
int res;
PyObject* arg_tuple = PyTuple_Pack(1, o);
if (unlikely(!arg_tuple))
return -1;
res = __Pyx_Print(stream, arg_tuple, 1);
Py_DECREF(arg_tuple);
return res;
}
|