int iRank = matVariable->rank;
if (iRank != 0)
{
- piDims = (int *)MALLOC(iRank * sizeof(int));
-
- for (int i = 0; i < iRank; ++i)
+ if (iRank == 1)
+ {
+ iRank = 2;
+ piDims = (int *)MALLOC(iRank * sizeof(int));
+ piDims[0] = (int)matVariable->dims[0];
+ piDims[1] = 1;
+ }
+ else
{
- piDims[i] = (int)matVariable->dims[i];
+ piDims = (int *)MALLOC(iRank * sizeof(int));
+
+ for (int i = 0; i < iRank; ++i)
+ {
+ piDims[i] = (int)matVariable->dims[i];
+ }
}
}
matvar_t* pMatVarOut = NULL;
/* OTHERS LIST ENTRIES: ALL CELL VALUES */
-
size_t* pszDims = (size_t*)MALLOC(Dims * sizeof(size_t));
if (pszDims == NULL)
{
{
pszDims[K] = ((int*)pDims)[K];
}
- pszDims[1] = pszDims[1] * isizeFieldNames;
structEntries = (matvar_t **)MALLOC(sizeof(matvar_t*) * prodDims * isizeFieldNames + 1);
if (structEntries == NULL)
}
}
- pMatVarOut = Mat_VarCreate(name, MAT_C_STRUCT, MAT_T_STRUCT, prodDims , pszDims, structEntries, 0);
+ pMatVarOut = Mat_VarCreate(name, MAT_C_STRUCT, MAT_T_STRUCT, prodDims * isizeFieldNames, pszDims, structEntries, 0);
FREE(pszDims);
return pMatVarOut;