Massive indent of all codes:
[scilab.git] / scilab / modules / fileio / sci_gateway / c / sci_mseek.c
1 /*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2006 - INRIA - Allan CORNET
4 * Copyright (C) 2009 - DIGITEO - Allan CORNET
5 * ...
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-en.txt
12 *
13 */
14 /*--------------------------------------------------------------------------*/
15 #include "stack-c.h"
16 #include "gw_fileio.h"
17 #include "mseek.h"
18 #include "MALLOC.h"
19 #include "localization.h"
20 #include "Scierror.h"
21 /*--------------------------------------------------------------------------*/
22 #define ALL_FILES_DESCRIPTOR -1
23 /*--------------------------------------------------------------------------*/
24 int sci_mseek(char *fname, unsigned long fname_len)
25 {
26     int m1 = 0, n1 = 0, l1 = 0;
27     int m2 = 0, n2 = 0, l2 = 0;
28     int m3 = 0, n3 = 0, l3 = 0;
29     int err = 0;
30     int fd = ALL_FILES_DESCRIPTOR;
31     char *flag = NULL;
32
33     Nbvars = 0;
34     CheckRhs(1, 3);
35     CheckLhs(1, 1);
36
37     if (GetType(1) == sci_matrix)
38     {
39         GetRhsVar(1, MATRIX_OF_INTEGER_DATATYPE, &m1, &n1, &l1);
40         if (m1*n1 != 1)
41         {
42             Scierror(999, _("%s: Wrong size for input argument #%d: An integer expected.\n"), fname, 1);
43             return 0;
44         }
45     }
46     else
47     {
48         Scierror(999, _("%s: Wrong type for input argument #%d: An integer expected.\n"), fname, 1);
49         return 0;
50     }
51
52     if ( Rhs >= 2)
53     {
54         if (GetType(2) == sci_matrix)
55         {
56             GetRhsVar(2, MATRIX_OF_INTEGER_DATATYPE, &m2, &n2, &l2);
57             if (m2*n2 == 1)
58             {
59                 fd = *istk(l2);
60             }
61             else
62             {
63                 Scierror(999, _("%s: Wrong size for input argument #%d: An integer expected.\n"), fname, 2);
64             }
65         }
66         else
67         {
68             Scierror(999, _("%s: Wrong type for input argument #%d: An integer expected.\n"), fname, 2);
69             return 0;
70         }
71     }
72
73     if ( Rhs >= 3)
74     {
75         GetRhsVar(3, STRING_DATATYPE, &m3, &n3, &l3);
76         flag = cstk(l3);
77     }
78     else
79     {
80         flag = "set";
81     }
82
83     C2F(mseek)(&fd, istk(l1), flag, &err);
84
85     if (err >  0)
86     {
87         SciError(10000);
88         return 0;
89     }
90
91     LhsVar(1) = 0;
92     PutLhsVar();
93
94     return 0;
95 }
96 /*--------------------------------------------------------------------------*/