1cee546f3fed49749cb4af408ead75936ebe76ec
[scilab.git] / scilab / modules / string / src / c / isalphanum.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.1-en.txt
11  *
12  */
13
14 /*--------------------------------------------------------------------------*/
15 #include <string.h>
16 #include <ctype.h>
17 #include "isalphanum.h"
18 #include "sci_malloc.h"
19 /*--------------------------------------------------------------------------*/
20 BOOL *isalphanum(const char* input_string, int *returnedSize)
21 {
22     BOOL *returnedValues = NULL;
23     *returnedSize = 0;
24
25     if (input_string)
26     {
27         int i = 0;
28         int length_input_string = (int)strlen(input_string);
29         *returnedSize = length_input_string;
30
31         if (length_input_string > 0)
32         {
33             returnedValues = (BOOL*)MALLOC(sizeof(BOOL) * length_input_string);
34             if (returnedValues)
35             {
36                 for (i = 0; i < length_input_string; i++)
37                 {
38                     if (isalnum(input_string[i]))
39                     {
40                         returnedValues[i] = TRUE;
41                     }
42                     else
43                     {
44                         returnedValues[i] = FALSE;
45                     }
46                 }
47             }
48         }
49     }
50     return returnedValues;
51 }
52 /*--------------------------------------------------------------------------*/