Coverity: Core module errors fixed
[scilab.git] / scilab / modules / core / src / cpp / demangle.cpp
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
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 <cstring>
17
18 extern "C" {
19 #include "machine.h"
20 #include "backtrace.h"
21 }
22
23 #if defined(HAVE_GLIBC_BACKTRACE) && defined(HAVE_CPLUS_DEMANGLE)
24 #include <cxxabi.h>
25 #endif
26
27 char * sci_demangle(const char * __mangled_name, char * __output_buffer, size_t * __length, int * __status)
28 {
29 #if defined(HAVE_GLIBC_BACKTRACE) && defined(HAVE_CPLUS_DEMANGLE)
30     return abi::__cxa_demangle(__mangled_name, __output_buffer, __length, __status);
31 #else
32     *__status = -3;
33     return 0;
34 #endif
35 }