aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/py/source/pyargs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/py/source/pyargs.cpp')
-rw-r--r--externals/grill/py/source/pyargs.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/externals/grill/py/source/pyargs.cpp b/externals/grill/py/source/pyargs.cpp
index 5c903f17..2957801d 100644
--- a/externals/grill/py/source/pyargs.cpp
+++ b/externals/grill/py/source/pyargs.cpp
@@ -130,12 +130,15 @@ const t_symbol *pybase::GetPyArgs(AtomList &lst,PyObject *pValue,int offs)
{
if(pValue == NULL) return false;
+ // output bang on None returned
+ if(pValue == Py_None) return sym_bang;
+
// analyze return value or tuple
int rargc = 0;
retval tp = nothing;
- if(PyString_Check(pValue)) {
+ if(PyString_Check(pValue) || pySymbol_Check(pValue)) {
rargc = 1;
tp = atom;
}
@@ -143,8 +146,8 @@ const t_symbol *pybase::GetPyArgs(AtomList &lst,PyObject *pValue,int offs)
rargc = PySequence_Size(pValue);
tp = sequ;
}
- else if(pValue != Py_None) {
- rargc = 1;
+ else {
+ rargc = 1;
tp = atom;
}
// else