Coverity: Core module errors fixed
[scilab.git] / scilab / modules / core / src / cpp / banner.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
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 "banner.hxx"
17 #include "scilabWrite.hxx"
18 #include "localization.hxx"
19
20 extern "C"
21 {
22 #include <string.h>
23 #include <math.h>
24 #include "version.h"
25 #include "charEncoding.h"
26 }
27 /*--------------------------------------------------------------------------*/
28 static const wchar_t *line = L"        ___________________________________________        ";
29 /*--------------------------------------------------------------------------*/
30 static void centerPrint(const wchar_t *str);
31
32 void banner(void)
33 {
34     scilabForcedWriteW(line);
35     scilabForcedWriteW(L"\n");
36
37     centerPrint(SCI_VERSION_WIDE_STRING);
38     scilabForcedWriteW(L"\n\n");
39
40     centerPrint(_W("Scilab Enterprises\n").c_str());
41     centerPrint(_W("Copyright (c) 2011-2016 (Scilab Enterprises)\n").c_str());
42     centerPrint(_W("Copyright (c) 1989-2012 (INRIA)\n").c_str());
43     centerPrint(_W("Copyright (c) 1989-2007 (ENPC)\n").c_str());
44
45     scilabForcedWriteW(line);
46     scilabForcedWriteW(L"\n");
47
48     scilabForcedWriteW(L"\n");
49     centerPrint(L"-*- This is the future version 6 of Scilab. Only for testing -*-");
50     scilabForcedWriteW(L"\n");
51
52     scilabForcedWriteW(line);
53     scilabForcedWriteW(L"\n");
54 }
55
56 /*--------------------------------------------------------------------------*/
57 static void centerPrint(const wchar_t *str)
58 {
59     int i = 0;
60     int startVersion = (int)(floor((double)(wcslen(line) / 2)) - floor((double)(wcslen(str) / 2)));
61
62     /* To center the version name */
63     for (i = 0 ; i < startVersion ; i++ )
64     {
65         scilabForcedWriteW(L" ");
66     }
67     scilabForcedWriteW(str);
68 }