mirror of https://github.com/swig/swig
Add support for Scilab 2025.x.0
Add support for Scilab 2025.0.0 and 2025.1.0 (const-related changes, error management). Add CI job for Scilab 2025.1.0. Fixes #3155
This commit is contained in:
parent
739997707c
commit
dd0e14ad22
|
@ -203,6 +203,8 @@ jobs:
|
|||
VER: '2023.1.0'
|
||||
- SWIGLANG: scilab
|
||||
VER: '2024.1.0'
|
||||
- SWIGLANG: scilab
|
||||
VER: '2025.1.0'
|
||||
- SWIGLANG: tcl
|
||||
# c++11 testing
|
||||
- SWIGLANG: csharp
|
||||
|
|
|
@ -33,11 +33,15 @@ printf("Foo = %f\n", Foo_get());
|
|||
ierr = execstr('gcd(-42, 105)', 'errcatch');
|
||||
if ierr <> 20003 then
|
||||
error("gcd(-42, 105) must provoke a RunTimeError")
|
||||
else
|
||||
errclear()
|
||||
end
|
||||
|
||||
ierr = execstr('fact(-4)', 'errcatch');
|
||||
if ierr <> 20003 then
|
||||
error("fact(-4) must provoke a RunTimeError")
|
||||
else
|
||||
errclear()
|
||||
end
|
||||
|
||||
exit
|
||||
|
|
|
@ -54,6 +54,7 @@ try
|
|||
path_set("Whoa!");
|
||||
printf("Hey, what''s going on?!?! This shouldn''t work\n");
|
||||
catch
|
||||
errclear();
|
||||
printf("Good.\n");
|
||||
end
|
||||
printf(" Trying to set ''status''\n");
|
||||
|
@ -61,6 +62,7 @@ try
|
|||
status_set(0);
|
||||
printf("Hey, what''s going on?!?! This shouldn''t work\n");
|
||||
catch
|
||||
errclear();
|
||||
printf("Good.\n");
|
||||
end
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ SWIG_SciString_FromCharPtr(void *pvApiCtx, int iVarOut, const char *pchValue) {
|
|||
const char* pstStrings[1];
|
||||
pstStrings[0] = pchValue;
|
||||
|
||||
sciErr = createMatrixOfString(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, 1, 1, pstStrings);
|
||||
sciErr = createMatrixOfString(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, 1, 1, (char CONST_PTR* CONST_PTR*)pstStrings);
|
||||
if (sciErr.iErr) {
|
||||
printError(&sciErr, 0);
|
||||
return SWIG_ERROR;
|
||||
|
@ -237,7 +237,7 @@ SWIGINTERN int
|
|||
SWIG_SciString_FromCharPtrArrayAndSize(void *pvApiCtx, int iVarOut, int iRows, int iCols, char **charPtrArray) {
|
||||
SciErr sciErr;
|
||||
|
||||
sciErr = createMatrixOfString(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, iRows, iCols, (const char* const*) charPtrArray);
|
||||
sciErr = createMatrixOfString(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, iRows, iCols, (char CONST_PTR* CONST_PTR*)charPtrArray);
|
||||
if (sciErr.iErr) {
|
||||
printError(&sciErr, 0);
|
||||
return SWIG_ERROR;
|
||||
|
@ -261,13 +261,13 @@ SWIGINTERN int
|
|||
SWIG_CreateScilabVariable_dec(char)(void *pvApiCtx, const char* psVariableName, const char cVariableValue) {
|
||||
SciErr sciErr;
|
||||
char sValue[2];
|
||||
const char* psStrings[1];
|
||||
CONST_PTR char* psStrings[1];
|
||||
|
||||
sValue[0] = cVariableValue;
|
||||
sValue[1] = '\0';
|
||||
psStrings[0] = sValue;
|
||||
|
||||
sciErr = createNamedMatrixOfString(pvApiCtx, psVariableName, 1, 1, psStrings);
|
||||
sciErr = createNamedMatrixOfString(pvApiCtx, psVariableName, 1, 1, (char CONST_PTR* CONST_PTR*)psStrings);
|
||||
if (sciErr.iErr) {
|
||||
printError(&sciErr, 0);
|
||||
return SWIG_ERROR;
|
||||
|
@ -278,12 +278,12 @@ SWIG_CreateScilabVariable_dec(char)(void *pvApiCtx, const char* psVariableName,
|
|||
|
||||
%fragment(SWIG_CreateScilabVariable_frag(charptr), "wrapper") {
|
||||
SWIGINTERN int
|
||||
SWIG_CreateScilabVariable_dec(charptr)(void *pvApiCtx, const char* psVariableName, const char* psVariableValue) {
|
||||
SWIG_CreateScilabVariable_dec(charptr)(void *pvApiCtx, const char* psVariableName, CONST_PTR char* psVariableValue) {
|
||||
SciErr sciErr;
|
||||
const char* psStrings[1];
|
||||
CONST_PTR char* psStrings[1];
|
||||
psStrings[0] = psVariableValue;
|
||||
|
||||
sciErr = createNamedMatrixOfString(pvApiCtx, psVariableName, 1, 1, psStrings);
|
||||
sciErr = createNamedMatrixOfString(pvApiCtx, psVariableName, 1, 1, (char CONST_PTR* CONST_PTR*)psStrings);
|
||||
if (sciErr.iErr) {
|
||||
printError(&sciErr, 0);
|
||||
return SWIG_ERROR;
|
||||
|
|
|
@ -12,6 +12,9 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
#include "api_scilab.h"
|
||||
#ifndef CONST_PTR /* Scilab < 2025.0.0 */
|
||||
#define CONST_PTR const
|
||||
#endif
|
||||
#if SCI_VERSION_MAJOR < 5 || SCI_VERSION_MAJOR == 5 && SCI_VERSION_MINOR < 4
|
||||
#define __USE_DEPRECATED_STACK_FUNCTIONS__
|
||||
#include "stack-c.h"
|
||||
|
@ -329,7 +332,7 @@ SwigScilabPtrFromObject(void *pvApiCtx, int iVarOut, void *pvObj, swig_type_info
|
|||
pstTypeName = SWIG_TypeName(descriptor);
|
||||
}
|
||||
|
||||
sciErr = createMatrixOfStringInList(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, piMListAddr, 1, 1, 1, &pstTypeName);
|
||||
sciErr = createMatrixOfStringInList(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, piMListAddr, 1, 1, 1, (char CONST_PTR* CONST_PTR*)&pstTypeName);
|
||||
if (sciErr.iErr) {
|
||||
printError(&sciErr, 0);
|
||||
return SWIG_ERROR;
|
||||
|
|
Loading…
Reference in New Issue