utf: module string 2
[scilab.git] / scilab / modules / string / src / c / isletter.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.1-en.txt
10  *
11  */
12
13 /*--------------------------------------------------------------------------*/
14 #include <string.h>
15 #include <ctype.h>
16 #include <wchar.h>
17 #include <wctype.h> /* iswalpha */
18 #include "isletter.h"
19 #include "sci_malloc.h"
20 #include "charEncoding.h"
21
22 /*--------------------------------------------------------------------------*/
23 BOOL *isletter(char *input_string, int *sizeArray)
24 {
25     BOOL *returnedValues = NULL;
26     if (input_string)
27     {
28         int i = 0;
29         wchar_t* in = to_wide_string(input_string);
30         int len = (int)wcslen(in);
31
32         *sizeArray = len;
33
34         if (len > 0)
35         {
36             returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * len);
37             if (returnedValues)
38             {
39                 for (i = 0; i < len; i++)
40                 {
41                     if (iswalpha(in[i]))
42                     {
43                         returnedValues[i] = TRUE;
44                     }
45                     else
46                     {
47                         returnedValues[i] = FALSE;
48                     }
49                 }
50             }
51         }
52
53         FREE(in);
54     }
55     return returnedValues;
56 }
57 /*--------------------------------------------------------------------------*/