Remove memory leaks
[scilab.git] / scilab / modules / output_stream / src / c / errmds.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - Allan CORNET
4  * 
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at    
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #include "errmds.h"
14 #include "stack-def.h"
15 /*--------------------------------------------------------------------------*/ 
16 int C2F(errmds)(int *num, int *imess, int *imode)
17 {
18         /* 100000 is a constant used in fortran to code errct value :( */
19         #define ERRCATCH_CONST_ERRCT 100000
20         *num = 0;
21         if (C2F(errgst).errct > 0) 
22         {
23                 *num = C2F(errgst).errct - ERRCATCH_CONST_ERRCT * (int)( C2F(errgst).errct / ERRCATCH_CONST_ERRCT );
24                 *imode = C2F(errgst).errct / ERRCATCH_CONST_ERRCT;
25         } 
26         else if (C2F(errgst).errct < 0) 
27         {
28                 *num = -1;
29                 *imode = -C2F(errgst).errct / ERRCATCH_CONST_ERRCT;
30         }
31         *imess = *imode / 8;
32         *imode = *imode - 8* (*imess);
33         return 0;
34
35 /*--------------------------------------------------------------------------*/