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