License Header change: Removed the LICENSE_END before beta
[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  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 /*--------------------------------------------------------------------------*/
17 #include <string.h>
18 #include <ctype.h>
19 #include <wchar.h>
20 #include <wctype.h> /* iswalpha */
21 #include "isletter.h"
22 #include "sci_malloc.h"
23
24 /*--------------------------------------------------------------------------*/
25 BOOL *isletter(char *input_string, int *sizeArray)
26 {
27     BOOL *returnedValues = NULL;
28     if (input_string)
29     {
30         int i = 0;
31         int length_input_string = (int)strlen(input_string);
32         *sizeArray = length_input_string;
33
34         if (length_input_string > 0)
35         {
36             returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * length_input_string);
37             if (returnedValues)
38             {
39                 for (i = 0; i < length_input_string; i++)
40                 {
41                     if ( isalpha(input_string[i]) )
42                     {
43                         returnedValues[i] = TRUE;
44                     }
45                     else
46                     {
47                         returnedValues[i] = FALSE;
48                     }
49                 }
50             }
51         }
52     }
53     return returnedValues;
54 }
55 /*--------------------------------------------------------------------------*/
56 BOOL *isletterW(wchar_t *wcInput_string, int *sizeArray)
57 {
58     BOOL *returnedValues = NULL;
59     if (wcInput_string)
60     {
61         int i = 0;
62         int length_input_string = (int)wcslen(wcInput_string);
63
64         *sizeArray = length_input_string;
65
66         if (length_input_string > 0)
67         {
68             returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * length_input_string);
69             if (returnedValues)
70             {
71                 for (i = 0; i < length_input_string; i++)
72                 {
73                     if ( iswalpha(wcInput_string[i]) )
74                     {
75                         returnedValues[i] = TRUE;
76                     }
77                     else
78                     {
79                         returnedValues[i] = FALSE;
80                     }
81                 }
82             }
83         }
84     }
85     return returnedValues;
86 }
87 /*--------------------------------------------------------------------------*/