From 54fabd3a9d60d4f0eaf0a31b066e5e8f3c9d587d Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 31 Oct 2018 21:23:33 +0100 Subject: [PATCH] Handle string waveforms --- devsupApp/src/dbfield.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/devsupApp/src/dbfield.c b/devsupApp/src/dbfield.c index 4b84ee5..cf0588a 100644 --- a/devsupApp/src/dbfield.c +++ b/devsupApp/src/dbfield.c @@ -19,7 +19,7 @@ #ifdef HAVE_NUMPY static const int dbf2np_map[DBF_MENU+1] = { - NPY_BYTE, // DBF_STRING + NPY_STRING, // DBF_STRING NPY_BYTE, // DBF_CHAR NPY_UBYTE, // DBF_UCHAR NPY_INT16, // DBF_SHORT @@ -81,19 +81,18 @@ static PyObject* build_array(PyObject* obj, void *data, unsigned short ftype, un #ifdef HAVE_NUMPY PyArray_Descr *desc; int ndims = 1; - npy_intp dims[2] = {nelem, 0}; + npy_intp dims[1] = {nelem}; if(ftype>DBF_MENU) { PyErr_SetString(PyExc_TypeError, "Can not map field type to numpy type"); return NULL; - - } else if(ftype==DBF_STRING) { - ndims = 2; - dims[1] = MAX_STRING_SIZE; - // element type is NPY_CHAR } desc = dbf2np[ftype]; + if(ftype==DBF_STRING) { + desc->elsize = MAX_STRING_SIZE; + } + Py_XINCREF(desc); return PyArray_NewFromDescr(&PyArray_Type, desc, ndims, dims, NULL, data, flags, (PyObject*)obj); #else