prompt function corrected.
[scilab.git] / scilab / modules / console / sci_gateway / cpp / sci_clc.cpp
1 /*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2011 - DIGITEO - Cedric DELAMARRE
4 *
5 * This file must be used under the terms of the CeCILL.
6 * This source file is licensed as described in the file COPYING, which
7 * you should have received as part of this distribution.  The terms
8 * are also available at
9 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 *
11 */
12 /*--------------------------------------------------------------------------*/
13
14 #include "console_gw.hxx"
15 #include "function.hxx"
16 #include "double.hxx"
17
18 extern "C"
19 {
20 #include "localization.h"
21 #include "Scierror.h"
22 #include "clc.h"
23 }
24 /*--------------------------------------------------------------------------*/
25
26 types::Function::ReturnValue sci_clc(types::typed_list &in, int _iRetCount, types::typed_list &out)
27 {
28         BOOL res = FALSE;
29         int nblines = -1;
30
31     if(in.size() == 0)
32     {
33                 /* Clear console full */
34                 nblines = -1;
35     }
36     else if(in.size() == 1)
37     {
38         if((in[0]->isDouble() == false) || !in[0]->getAs<types::Double>()->isScalar())
39         {
40             ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A double scalar expected.\n"), L"clc", 1);
41             return types::Function::Error;
42         }
43         nblines = (int)in[0]->getAs<types::Double>()->get(0);
44         if(nblines < 0)
45         {
46             ScierrorW(999, _W("%ls: Wrong value for input argument #%d: A positive double expected\n"), L"clc", 1);
47             return types::Function::Error;
48         }
49     }
50     else
51     {
52         ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"clc", 0, 1);
53         return types::Function::Error;
54     }
55
56     res = clc(nblines);
57     if (!res)
58     {
59         ScierrorW(999, _W("%ls: This feature has not been implemented in this mode.\n"), L"clc");
60         return types::Function::Error;
61     }
62
63     return types::Function::OK;
64 }
65 /*--------------------------------------------------------------------------*/