call: fix allocation and check with string argument
[scilab.git] / scilab / modules / dynamic_link / tests / unit_tests / call_tests.c
1 #include <stdio.h>
2
3 #define M_PI 3.14159265358979323846
4
5 //call_lhs_rhs
6
7 void call_0_0(void)
8 {
9     printf("call_0_0\n");
10 }
11
12 void call_i1_0(int* o1)
13 {
14     printf("call_i1_0\n");
15     *o1 = 42;
16 }
17
18 void call_d1_0(double* o1)
19 {
20     printf("call_d1_0\n");
21     *o1 = M_PI;
22 }
23
24 void call_0_i1(int* i1)
25 {
26     printf("call_0_i1: %d\n", *i1);
27 }
28
29 void call_0_d1(double* d1)
30 {
31     printf("call_0_d1: %f\n", *d1);
32 }
33
34 void call_i1_i1(int* io1)
35 {
36     printf("call_i1_i1: %d\n", *io1);
37     *io1 *= 2;
38 }
39
40 void call_d1_d1(double* io1)
41 {
42     printf("call_i1_i1: %f\n", *io1);
43     *io1 *= 2;
44 }
45
46 void call_i1_i1_bis(int* i1, int* o2)
47 {
48     printf("call_i1_i1: %d\n", *i1);
49     *o2 = *i1 * 2;
50 }
51
52 void call_d1_d1_bis(double* i1, double* o2)
53 {
54     printf("call_i1_i1: %d\n", *i1);
55     *o2 = *i1 * 2;
56 }
57
58 void call_i1_d1(int* i1, double* o2)
59 {
60     printf("call_i1_i1: %d\n", *i1);
61     *o2 = *i1 * M_PI;
62 }
63
64 void call_0_s1(char* s1)
65 {
66     printf("call_0_s1: %s\n", s1);
67 }
68
69 void call_s1_0(char* s1)
70 {
71     int size = 10;
72     int i = 0;
73     for (i = 0; i < size; ++i)
74     {
75         s1[i] = 'a' + i;
76     }
77
78     s1[size] = '\0';
79     
80     printf("call_s1_0: %s\n", s1);
81 }
82
83 void call_s1_s1(char* s1)
84 {
85     printf("call_s1_s1: %s -> ", s1);
86     int i = 0;
87     for(i = 0; i < 10; ++i)
88     {
89         s1[i] += 1;
90     }
91
92     printf("%s\n", s1);
93 }
94