Scilab debugger updates
[scilab.git] / scilab / modules / core / sci_gateway / cpp / sci_pause.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
4  *  Copyright (C) 2015 - Scilab Enterprises - Cedric Delamarre
5  *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  */
16
17 #include "core_gw.hxx"
18 #include "function.hxx"
19 #include "configvariable.hxx"
20
21 extern "C"
22 {
23 #include "charEncoding.h"
24 #include "localization.h"
25 #include "Scierror.h"
26 #include "sciprint.h"
27 #include "pause.h"
28 }
29
30 types::Function::ReturnValue sci_pause(types::typed_list &in, int _iRetCount, types::typed_list &out)
31 {
32     if (ConfigVariable::getEnableDebug() == true)
33     {
34         sciprint(_("%s: function is disabled in debug mode.\n"), "pause");
35         return types::Function::OK;
36     }
37
38     if (in.size() != 0)
39     {
40         Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "pause", 0);
41         return types::Function::Error;
42     }
43
44     // add pause in list of macro called
45     // to manage line displayed when error occured
46     // or when the "where()" function is called.
47     ConfigVariable::macroFirstLine_begin(2);
48
49     // do pause
50     pause();
51
52     return types::Function::OK;
53 }