3962e735039ef11b2064c71b5097f38718459d20
[scilab.git] / scilab / modules / string / src / c / isascii.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - Allan CORNET
4  * Copyright (C) DIGITEO - Allan CORNET - 2009
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 /*--------------------------------------------------------------------------*/
15 #include <string.h>
16 #include "isascii.h"
17 #include "sci_malloc.h"
18 /*--------------------------------------------------------------------------*/
19 BOOL* isasciiStringW(wchar_t* input_string, int* returnedSize)
20 {
21     BOOL *returnedValues = NULL;
22     *returnedSize = 0;
23
24     if (input_string)
25     {
26         int i = 0;
27         int length_input_string = (int)wcslen(input_string);
28         *returnedSize = length_input_string;
29
30         if (length_input_string > 0)
31         {
32             returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * length_input_string);
33             if (returnedValues)
34             {
35                 for (i = 0; i < length_input_string; i++)
36                 {
37                     if ( iswascii(input_string[i]) )
38                     {
39                         returnedValues[i] = TRUE;
40                     }
41                     else
42                     {
43                         returnedValues[i] = FALSE;
44                     }
45                 }
46             }
47         }
48     }
49     return returnedValues;
50 }
51
52 BOOL* isasciiMatrix(double* inputValues, int inputSize)
53 {
54     BOOL *returnedValues = NULL;
55     if (inputSize && inputValues != NULL)
56     {
57         int i = 0;
58         returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * inputSize);
59         if (returnedValues)
60         {
61             for (i = 0; i < inputSize; i++)
62             {
63                 if ( iswascii(inputValues[i]) )
64                 {
65                     returnedValues[i] = TRUE;
66                 }
67                 else
68                 {
69                     returnedValues[i] = FALSE;
70                 }
71             }
72         }
73     }
74     return returnedValues;
75 }
76 /*--------------------------------------------------------------------------*/