aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/eina/src/examples/eina_error_01.c
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/eina/src/examples/eina_error_01.c')
-rw-r--r--libraries/eina/src/examples/eina_error_01.c80
1 files changed, 80 insertions, 0 deletions
diff --git a/libraries/eina/src/examples/eina_error_01.c b/libraries/eina/src/examples/eina_error_01.c
new file mode 100644
index 0000000..90e845d
--- /dev/null
+++ b/libraries/eina/src/examples/eina_error_01.c
@@ -0,0 +1,80 @@
1//Compile with:
2//gcc -g `pkg-config --cflags --libs eina` eina_error_01.c -o eina_error_01
3
4#include <stdlib.h>
5#include <stdio.h>
6
7#include <eina_error.h>
8
9Eina_Error MY_ERROR_NEGATIVE;
10Eina_Error MY_ERROR_NULL;
11
12void *data_new()
13{
14 eina_error_set(0);
15
16 eina_error_set(MY_ERROR_NULL);
17 return NULL;
18}
19
20int test(int n)
21{
22 eina_error_set(0);
23
24 if (n < 0)
25 {
26 eina_error_set(MY_ERROR_NEGATIVE);
27 return 0;
28 }
29
30 return 1;
31}
32
33int main(void)
34{
35 void *data;
36
37 if (!eina_init())
38 {
39 printf ("Error during the initialization of eina_error module\n");
40 return EXIT_FAILURE;
41 }
42
43 MY_ERROR_NEGATIVE = eina_error_msg_static_register("Negative number");
44 MY_ERROR_NULL = eina_error_msg_static_register("NULL pointer");
45
46 data = data_new();
47 if (!data)
48 {
49 Eina_Error err;
50
51 err = eina_error_get();
52 if (err)
53 printf("Error during memory allocation: %s\n",
54 eina_error_msg_get(err));
55 }
56
57 if (!test(0))
58 {
59 Eina_Error err;
60
61 err = eina_error_get();
62 if (err)
63 printf("Error during test function: %s\n",
64 eina_error_msg_get(err));
65 }
66
67 if (!test(-1))
68 {
69 Eina_Error err;
70
71 err = eina_error_get();
72 if (err)
73 printf("Error during test function: %s\n",
74 eina_error_msg_get(err));
75 }
76
77 eina_shutdown();
78
79 return EXIT_SUCCESS;
80} \ No newline at end of file