1 /* Global storage tests */
3 #include "silcruntime.h"
5 int main(int argc, char **argv)
7 SilcBool success = FALSE;
8 unsigned char *vbuf, *vbuf2;
9 unsigned char init[20];
10 SilcUInt32 gint, *gintptr;
12 if (argc > 1 && !strcmp(argv[1], "-d")) {
15 silc_log_debug_hexdump(TRUE);
16 silc_log_set_debug_string("*global*");
19 SILC_LOG_DEBUG(("Set global var"));
21 if (!silc_global_set_var("gint", 4, &gint, FALSE))
24 SILC_LOG_DEBUG(("Retrieve var"));
25 gintptr = silc_global_get_var("gint", FALSE);
31 SILC_LOG_DEBUG(("Set global var"));
32 if (!silc_global_set_var("vbuf", 10, NULL, FALSE))
35 SILC_LOG_DEBUG(("Retrieve var"));
36 vbuf = silc_global_get_var("vbuf", FALSE);
40 SILC_LOG_DEBUG(("Change value"));
41 memset(vbuf, 'F', 10);
43 SILC_LOG_DEBUG(("Retrieve var"));
44 vbuf = silc_global_get_var("vbuf", FALSE);
50 SILC_LOG_DEBUG(("Retrieve var (must not find)"));
51 vbuf = silc_global_get_var("vbuf2", FALSE);
54 SILC_LOG_DEBUG(("Retrieve var (must not find)"));
55 vbuf = silc_global_get_var("VBUF", FALSE);
58 SILC_LOG_DEBUG(("Retrieve var (must not find)"));
59 vbuf = silc_global_get_var("vbuf", TRUE);
63 SILC_LOG_DEBUG(("Reset same var"));
64 if (!silc_global_set_var("vbuf", 20, NULL, FALSE))
67 SILC_LOG_DEBUG(("Retrieve var"));
68 vbuf = silc_global_get_var("vbuf", FALSE);
72 SILC_LOG_DEBUG(("Change value"));
73 memset(vbuf, 'F', 20);
75 SILC_LOG_DEBUG(("Retrieve var"));
76 vbuf = silc_global_get_var("vbuf", FALSE);
82 SILC_LOG_DEBUG(("Reset Tls var with initial value"));
83 memset(init, 'D', 20);
84 if (!silc_global_set_var("vbuf", 20, init, TRUE))
87 SILC_LOG_DEBUG(("Retrieve var"));
88 vbuf2 = silc_global_get_var("vbuf", TRUE);
96 SILC_LOG_DEBUG(("Change value"));
97 memset(vbuf2, 'T', 20);
99 SILC_LOG_DEBUG(("Retrieve Tls var"));
100 vbuf = silc_global_get_var("vbuf", TRUE);
106 SILC_LOG_DEBUG(("Retrieve global var"));
107 vbuf = silc_global_get_var("vbuf", FALSE);
113 SILC_LOG_DEBUG(("Delete global var"));
114 silc_global_del_var("vbuf", FALSE);
115 SILC_LOG_DEBUG(("Retrieve var (must not find)"));
116 vbuf = silc_global_get_var("vbuf", FALSE);
120 SILC_LOG_DEBUG(("Delete Tls var"));
121 silc_global_del_var("vbuf", TRUE);
122 SILC_LOG_DEBUG(("Retrieve var (must not find)"));
123 vbuf = silc_global_get_var("vbuf", TRUE);
130 SILC_LOG_DEBUG(("Testing was %s", success ? "SUCCESS" : "FAILURE"));
131 fprintf(stderr, "Testing was %s\n", success ? "SUCCESS" : "FAILURE");