104 assert_ptr_equal(copy_var.
data.data, NULL);
105 var.
data.i64 = 0x00000000F0000000;
108 assert_string_equal(copy_var.
data.s,
"4026531840");
109 var.
data.i64 = 0xFFFFFFFF10000001;
112 assert_string_equal(copy_var.
data.s,
"-4026531839");
114 var.
data.i64 = 0x00000000F0000000;
116 var.
data.i64 = 0xFFFFFFFF10000001;
121 assert_int_equal(copy_var.
data.i8, 127);
125 assert_int_equal(copy_var.
data.i8, -128);
127 var.
data.i64 = 0x00000000F0000000;
129 var.
data.i64 = 0xFFFFFFFF10000001;
134 assert_int_equal(copy_var.
data.i16, 1024);
138 assert_int_equal(copy_var.
data.i16, -1024);
140 var.
data.i64 = 0x00000000F0000000;
142 var.
data.i64 = 0xFFFFFFFF10000001;
147 assert_int_equal(copy_var.
data.i32, 32766);
151 assert_int_equal(copy_var.
data.i32, -32766);
158 assert_int_equal(copy_var.
data.ui8, 255);
162 assert_int_equal(copy_var.
data.ui8, 255);
169 assert_int_equal(copy_var.
data.ui16, 65535);
173 assert_int_equal(copy_var.
data.ui16, 65535);
180 assert_int_equal(copy_var.
data.ui32, 4294967295);
184 assert_int_equal(copy_var.
data.ui32, 4294967295);
189 assert_int_equal(copy_var.
data.ui64, 4294967295);
193 assert_int_equal(copy_var.
data.ui64, 4294967295);
202 var.
data.i64 = 0x00000000F0000000;
205 assert_true(copy_var.
data.b);
209 assert_false(copy_var.
data.b);
214 assert_true(copy_var.
data.f == 4294967295);
218 assert_true(copy_var.
data.d == 4294967295);
220 struct rlimit nofile = { 0, 0 };
221 assert_int_equal(getrlimit(RLIMIT_NOFILE, &nofile), 0);
225 var.
data.i64 = nofile.rlim_max + 1;
232 assert_int_equal(copy_var.
data.fd, STDIN_FILENO);
#define AMXC_VAR_ID_UINT32
Unsigned 32 bit integer variant id.
#define AMXC_VAR_ID_CUSTOM_BASE
Base variant id for custom variants.
#define AMXC_VAR_ID_INT16
Signed 16 bit integer variant id.
#define AMXC_VAR_ID_NULL
Null variant type id (aka void)
#define AMXC_VAR_ID_CSTRING
C-string variant id (aka char *), null terminated string.
#define AMXC_VAR_ID_UINT8
Unsigned 8 bit integer variant id.
#define AMXC_VAR_ID_UINT64
Unsigned 64 bit integer variant id.
#define AMXC_VAR_ID_DOUBLE
Double variant id.
#define AMXC_VAR_ID_UINT16
Unsigned 16 bit integer variant id.
#define AMXC_VAR_ID_FD
File descriptor variant id.
#define AMXC_VAR_ID_BOOL
Boolean variant id.
#define AMXC_VAR_ID_INT32
Signed 32 bit integer variant id.
#define AMXC_VAR_ID_TIMESTAMP
Ambiorix timestamp variant id.
#define AMXC_VAR_ID_FLOAT
Float variant id.
#define AMXC_VAR_ID_INT8
Signed 8 bit integer variant id.
int amxc_var_convert(amxc_var_t *const dest, const amxc_var_t *src, const uint32_t type_id)
Converts one variant (source) to another variant(destination) using the specified variant type id.