Coverity: Core module errors fixed
[scilab.git] / scilab / modules / core / src / cpp / getfunctionsname.cpp
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2013 - Scilab Enterprises - Cedric Delamarre
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #include "context.hxx"
17
18 extern "C" {
19 #include "sci_malloc.h"
20 #include "getfunctionsname.h"
21 #include "charEncoding.h"
22 }
23 /*----------------------------------------------------------------------------------*/
24 char **getFunctionsName(int *sizearray)
25 {
26     std::list<std::wstring> macrosList;
27     *sizearray = symbol::Context::getInstance()->getFunctionsName(macrosList);
28
29     char** functions = NULL;
30     if (*sizearray != 0)
31     {
32         functions = (char**)MALLOC(*sizearray * sizeof(char*));
33
34         macrosList.sort();
35
36         int i = 0;
37         for (auto it : macrosList)
38         {
39             functions[i++] = wide_string_to_UTF8(it.c_str());
40         }
41     }
42
43     return functions;
44 }