From 8a3278ade20036a849654311a446b1b63c35b504 Mon Sep 17 00:00:00 2001 From: Simon Marchetto Date: Wed, 9 Oct 2013 12:58:04 +0200 Subject: [PATCH] Scilab: fix compilation error on createMatrixOfString --- Lib/scilab/scichar.swg | 10 ++-------- Lib/scilab/sciruntime.swg | 13 ++----------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/Lib/scilab/scichar.swg b/Lib/scilab/scichar.swg index e165b66d8..dfcc75bf8 100644 --- a/Lib/scilab/scichar.swg +++ b/Lib/scilab/scichar.swg @@ -60,21 +60,15 @@ SwigScilabStringToChar(void *_pvApiCtx, int _iVar, char *_pcValue, char *_fname) %fragment("SwigScilabStringFromChar", "header") { SWIGINTERN int SwigScilabStringFromChar(void *_pvApiCtx, int _iVarOut, char _chValue) { - SciErr sciErr; - char *pchValue = (char*)malloc(sizeof(char) * 2); pchValue[0] = _chValue; pchValue[1] = '\0'; - sciErr = createMatrixOfString(_pvApiCtx, Rhs + _iVarOut, 1, 1, &pchValue); - if (sciErr.iErr) { - printError(&sciErr, 0); + if (createSingleString(_pvApiCtx, SWIG_NbInputArgument(_pvApiCtx) + _iVarOut, pchValue)) return SWIG_ERROR; - } free(pchValue); - - return Rhs + _iVarOut; + return SWIG_NbInputArgument(_pvApiCtx) + _iVarOut; } } diff --git a/Lib/scilab/sciruntime.swg b/Lib/scilab/sciruntime.swg index 7442a3cbc..f4de82c2f 100644 --- a/Lib/scilab/sciruntime.swg +++ b/Lib/scilab/sciruntime.swg @@ -206,7 +206,6 @@ SWIG_Scilab_NewMemberObj(void *_pvApiCtx, int _iVarOut, void *_ptr, int _sz, swi char *r = result; SciErr sciErr; - char **pstData = NULL; if ((2*_sz + 1 + strlen(_type->name)) > 1000) { return SWIG_ERROR; } @@ -214,18 +213,10 @@ SWIG_Scilab_NewMemberObj(void *_pvApiCtx, int _iVarOut, void *_ptr, int _sz, swi r = SWIG_PackData(r, _ptr, _sz); strcpy(r, _type->name); - pstData = (char **)malloc(sizeof(char *)); - pstData[0] = strdup(r); - - sciErr = createMatrixOfString(_pvApiCtx, Rhs + _iVarOut, 1, 1, (char **)pstData); - if (sciErr.iErr) { - printError(&sciErr, 0); + if (createSingleString(_pvApiCtx, SWIG_NbInputArgument(_pvApiCtx) + _iVarOut, r)) return SWIG_ERROR; - } - free(pstData[0]); - - return Rhs + _iVarOut; + return SWIG_NbInputArgument(_pvApiCtx) + _iVarOut; } SWIGRUNTIME int