Remove memory leaks
[scilab.git] / scilab / modules / output_stream / src / c / Scierror.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - 
4  * Copyright (C) DIGITEO - 2010 - Allan CORNET
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  */
13
14 #include <string.h>
15 #include <stdio.h>
16 #include "Scierror.h"
17 #include "stack-def.h" /* bsiz */
18 #include "error_internal.h"
19 /*--------------------------------------------------------------------------*/ 
20 #ifdef _MSC_VER
21         #define vsnprintf _vsnprintf
22 #endif
23 /*--------------------------------------------------------------------------*/ 
24 /* Scilab Error at C level */
25 /*--------------------------------------------------------------------------*/ 
26 int  Scierror(int iv,const char *fmt,...)
27 {
28         int retval = 0;
29         char s_buf[bsiz];
30         va_list ap;
31         
32         va_start(ap,fmt);
33
34 #if defined (vsnprintf) || defined (linux)
35         retval = vsnprintf(s_buf,bsiz-1, fmt, ap );
36 #else
37         retval = vsprintf(s_buf,fmt, ap );
38 #endif
39         if (retval < 0) s_buf[bsiz-1]='\0';
40
41         va_end(ap);
42
43         error_internal(&iv,s_buf);
44
45         return retval;
46 }
47 /*--------------------------------------------------------------------------*/