Scicos tests: fix scicos.tst to load Scicos libs correctly
[scilab.git] / scilab / modules / core / src / c / banier.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA
4  * Copyright (C) Calixte DENIZET - 2010
5  * Copyright (C) DIGITEO - 2010 - Allan CORNET
6  *
7  * This file must be used under the terms of the CeCILL.
8  * This source file is licensed as described in the file COPYING, which
9  * you should have received as part of this distribution.  The terms
10  * are also available at
11  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
12  *
13  */
14 #include <math.h>
15 #include <string.h>
16 #include "version.h"
17 #include "sciprint.h"
18 #include "banier.h"
19 #include "MALLOC.h"
20 #include "sciprint.h"
21 #include "localization.h"
22 #include "charEncoding.h"
23 /*--------------------------------------------------------------------------*/
24 static char *line = "        ___________________________________________        ";
25 /*--------------------------------------------------------------------------*/
26 static void centerLine(char *str);
27 static void centerPrint(char *str);
28 /*--------------------------------------------------------------------------*/
29 void banner(void)
30 {
31     sciprint("%s\n", line);
32
33     centerPrint(SCI_VERSION_STRING);
34     sciprint("\n\n");
35
36     centerPrint(_("Scilab Enterprises\n"));
37     centerPrint(_("Copyright (c) 2011-2015 (Scilab Enterprises)\n"));
38     centerPrint(_("Copyright (c) 1989-2012 (INRIA)\n"));
39     centerPrint(_("Copyright (c) 1989-2007 (ENPC)\n"));
40
41     sciprint("%s\n", line);
42 }
43 /*--------------------------------------------------------------------------*/
44 static void centerLine(char *str)
45 {
46     int i = 0, start = 0;
47     wchar_t *wstr = to_wide_string(str);
48
49     if (wstr)
50     {
51         char *whites = NULL;
52         start = (int)(floor((double)(strlen(line) / 2)) - floor((double)(((int)wcslen(wstr) - 1) / 2)));
53         FREE(wstr);
54         whites = (char*)MALLOC(sizeof(char) * (start + 1));
55         if (whites)
56         {
57             /* To center the string */
58             for ( i = 0 ; i < start ; i++ )
59             {
60                 whites[i] = ' ';
61             }
62             whites[start] = '\0';
63             sciprint(whites);
64             FREE(whites);
65         }
66     }
67 }
68 /*--------------------------------------------------------------------------*/
69 static void centerPrint(char *str)
70 {
71     centerLine(str);
72     sciprint(str);
73 }
74 /*--------------------------------------------------------------------------*/
75 int C2F(banier)(int *flag)
76 {
77     if (*flag != 999)
78     {
79         banner();
80     }
81     return 0;
82 }
83 /*--------------------------------------------------------------------------*/