utf: module string 2
[scilab.git] / scilab / modules / string / src / c / StringConvert.c
1 /*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) DIGITEO - 2009
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 #include "StringConvert.h"
14 /*--------------------------------------------------------------------------*/
15 int StringConvert(char *str)
16 /* changes `\``n` --> `\n` idem for \t and \r */
17 {
18     char *str1;
19     int count = 0;
20     str1 = str;
21
22     while ( *str != 0)
23     {
24         if ( *str == '\\' )
25         {
26             switch ( *(str + 1))
27             {
28                 case 'n' :
29                     *str1 = '\n' ;
30                     str1++;
31                     str += 2;
32                     count++;
33                     break;
34                 case 't' :
35                     *str1 = '\t' ;
36                     str1++;
37                     str += 2;
38                     break;
39                 case 'r' :
40                     *str1 = '\r' ;
41                     str1++;
42                     str += 2;
43                     break;
44                 default :
45                     *str1 = *str;
46                     str1++;
47                     str++;
48                     break;
49             }
50         }
51         else
52         {
53             *str1 = *str;
54             str1++;
55             str++;
56         }
57     }
58     *str1 = '\0';
59     return count;
60 }
61 /*--------------------------------------------------------------------------*/