Scicos tests: fix scicos.tst to load Scicos libs correctly
[scilab.git] / scilab / modules / core / sci_gateway / c / sci_predef.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2006 - INRIA - Allan Cornet
4  * Copyright (C) 2011 - DIGITEO - Allan CORNET
5  *
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at
10  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11  *
12  */
13 #include "gw_core.h"
14 #include "api_scilab.h"
15 #include "localization.h"
16 #include "Scierror.h"
17 #include "predef.h"
18 #include "MALLOC.h"
19 #include "freeArrayOfString.h"
20 /*--------------------------------------------------------------------------*/
21 int C2F(sci_predef)(char *fname, void* pvApiCtx)
22 {
23     //int previous_n_var_protected = 0;
24
25     //Rhs = Max(0, Rhs);
26
27     //CheckRhs(0,1);
28     //CheckLhs(0,1);
29
30     //previous_n_var_protected = getNumberPredefVariablesProtected();
31
32     //if (Rhs == 0)
33     //{
34     //    int one = 1 ,l = 0;
35
36     //    CreateVar(Rhs+1, MATRIX_OF_INTEGER_DATATYPE, &one, &one,&l);
37     //    *istk(l) = (int) previous_n_var_protected;
38
39     //    LhsVar(1) = Rhs + 1;
40     //    PutLhsVar();
41     //}
42     //else /* Rhs == 1 */
43     //{
44     //    int *out_values = NULL;
45     //    int nout = 0 , mout = 0;
46     //    int new_n_var_protected = 0;
47
48     //    if ( VarType(1) == sci_matrix )
49     //    {
50     //        int m1 = 0, n1 = 0, l1 = 0;
51     //        GetRhsVar(1, MATRIX_OF_DOUBLE_DATATYPE, &m1, &n1, &l1);
52     //        if ( (m1 == n1) && (n1 == 1) )
53     //        {
54     //            double dn_var = *stk(l1);
55     //            int n_var = (int) dn_var;
56
57     //            if (dn_var != (double)n_var)
58     //            {
59     //                Scierror(999,_("%s: Wrong value for input argument #%d: A int expected.\n"),fname,1);
60     //                return 0;
61     //            }
62
63     //            setNumberPredefVariablesProtected(n_var);
64     //        }
65     //        else
66     //        {
67     //            Scierror(999,_("%s: Wrong size for input argument #%d: A scalar expected.\n"),fname,1);
68     //            return 0;
69     //        }
70     //    }
71     //    else if ( VarType(1) == sci_strings )
72     //    {
73     //        int m1 = 0, n1 = 0, l1 = 0;
74     //        char *protectMode = NULL;
75
76     //        GetRhsVar(1,STRING_DATATYPE,&m1,&n1,&l1);
77     //        protectMode = cstk(l1);
78     //        if (protectMode)
79     //        {
80     //            if ( ((strlen(protectMode) == 1 ) && (protectMode[0] == 'c')) ||
81     //                (strcmp(protectMode,"clear") == 0) )
82     //            {
83     //                clearPredef();
84     //            }
85     //            else if ( ((strlen(protectMode) == 1 ) && (protectMode[0] == 'a')) ||
86     //                (strcmp(protectMode,"all") == 0) )
87     //            {
88     //                predefAll();
89     //            }
90     //            else if (strcmp(protectMode,"names") == 0)
91     //            {
92     //                int nbElements = 0;
93     //                char **variablesPredef = getPredefinedVariablesName(&nbElements);
94     //                if (variablesPredef && (nbElements > 0))
95     //                {
96     //                    SciErr sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, nbElements, 1, variablesPredef);
97     //                    freeArrayOfString(variablesPredef, nbElements);
98     //                    variablesPredef = NULL;
99     //                    if(sciErr.iErr)
100     //                    {
101     //                        printError(&sciErr, 0);
102     //                        Scierror(999,_("%s: Memory allocation error.\n"), fname);
103     //                    }
104     //                    else
105     //                    {
106     //                        LhsVar(1) = Rhs + 1;
107     //                        PutLhsVar();
108     //                    }
109     //                    return 0;
110     //                }
111     //                else
112     //                {
113     //                    createEmptyMatrix(pvApiCtx, Rhs + 1);
114     //                    LhsVar(1) = Rhs + 1;
115     //                    PutLhsVar();
116     //                    return 0;
117     //                }
118     //            }
119     //            else
120     //            {
121     //                Scierror(999,_("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"),fname,1,"clear","all");
122     //                return 0;
123     //            }
124     //        }
125     //    }
126     //    else
127     //    {
128     //        Scierror(999,_("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"),fname,1);
129     //        return 0;
130     //    }
131
132     //    new_n_var_protected = getNumberPredefVariablesProtected();
133
134     //    out_values = (int*)MALLOC(sizeof(int)*2);
135     //    out_values[0] = previous_n_var_protected;
136     //    out_values[1] = new_n_var_protected;
137
138     //    nout = 1 ; mout = 2;
139     //    CreateVarFromPtr(Rhs+1,MATRIX_OF_INTEGER_DATATYPE, &nout, &mout, &out_values);
140     //    if (out_values) {FREE(out_values); out_values = NULL;}
141
142     //    LhsVar(1) = Rhs + 1;
143     //    PutLhsVar();
144     //}
145     return 0;
146 }
147 /*--------------------------------------------------------------------------*/