comparison python/pydc/pydcext.c @ 5:bf5625bb6f05

- brought python binding up to dc v0.9
author cslag
date Tue, 22 Mar 2016 01:49:34 +0100
parents 0cfcc391201f
children a40084782546
comparison
equal deleted inserted replaced
4:4c5019f00f5b 5:bf5625bb6f05
219 return PyErr_Format( PyExc_RuntimeError, "argument mismatch at pos %d - expecting a promoting pointer-type (int,string)", index ); 219 return PyErr_Format( PyExc_RuntimeError, "argument mismatch at pos %d - expecting a promoting pointer-type (int,string)", index );
220 } 220 }
221 dcArgPointer(gpCall, ptr ); 221 dcArgPointer(gpCall, ptr );
222 } 222 }
223 break; 223 break;
224 case 'S': 224 case DC_SIGCHAR_STRING:
225 { 225 {
226 char* p; 226 char* p;
227 if (!PyString_Check(po) ) return PyErr_Format( PyExc_RuntimeError, "argument mismatch at pos %d - expecting a string", index ); 227 if (!PyString_Check(po) ) return PyErr_Format( PyExc_RuntimeError, "argument mismatch at pos %d - expecting a string", index );
228 p = PyString_AsString(po); 228 p = PyString_AsString(po);
229 dcArgPointer(gpCall, (DCpointer) p ); 229 dcArgPointer(gpCall, (DCpointer) p );
242 242
243 ch = *++ptr; 243 ch = *++ptr;
244 244
245 switch(ch) 245 switch(ch)
246 { 246 {
247 case DC_SIGCHAR_VOID: dcCallVoid(gpCall, pfunc); Py_RETURN_NONE; 247 case DC_SIGCHAR_VOID: dcCallVoid (gpCall, pfunc); Py_RETURN_NONE;
248 case DC_SIGCHAR_BOOL: return Py_BuildValue("i", dcCallBool(gpCall, pfunc) ); 248 case DC_SIGCHAR_BOOL: return Py_BuildValue("i", dcCallBool (gpCall, pfunc));
249 case DC_SIGCHAR_INT: return Py_BuildValue("i", dcCallInt(gpCall, pfunc) ); 249 case DC_SIGCHAR_INT: return Py_BuildValue("i", dcCallInt (gpCall, pfunc));
250 case DC_SIGCHAR_LONGLONG: return Py_BuildValue("L", (unsigned long long) dcCallLongLong(gpCall, pfunc) ); 250 case DC_SIGCHAR_LONGLONG: return Py_BuildValue("L", (unsigned long long)dcCallLongLong(gpCall, pfunc));
251 case DC_SIGCHAR_FLOAT: return Py_BuildValue("f", dcCallFloat(gpCall, pfunc) ); 251 case DC_SIGCHAR_FLOAT: return Py_BuildValue("f", dcCallFloat (gpCall, pfunc));
252 case DC_SIGCHAR_DOUBLE: return Py_BuildValue("d", dcCallDouble(gpCall, pfunc) ); 252 case DC_SIGCHAR_DOUBLE: return Py_BuildValue("d", dcCallDouble (gpCall, pfunc));
253 case 's': return Py_BuildValue("s", dcCallPointer(gpCall, pfunc) ); 253 case DC_SIGCHAR_STRING: return Py_BuildValue("s", dcCallPointer (gpCall, pfunc));
254 case DC_SIGCHAR_POINTER: return Py_BuildValue("p", dcCallPointer(gpCall, pfunc) ); 254 case DC_SIGCHAR_POINTER: return Py_BuildValue("p", dcCallPointer (gpCall, pfunc));
255 default: return PyErr_Format( PyExc_RuntimeError, "invalid return type signature" ); 255 default: return PyErr_Format( PyExc_RuntimeError, "invalid return type signature");
256 } 256 }
257 } 257 }
258 258
259 259
260 static PyMethodDef pydcMethods[] = { 260 static PyMethodDef pydcMethods[] = {