comment
[libex.git] / test / test_msg.c
blob3ca4eae4239eda6b1a68e3545132359bf8c1d4df
1 #include "../include/libex/msg.h"
3 void test_mpz (char *s) {
4 #ifdef __GMP__
5 int32_t ni;
6 strptr_t sp = { .ptr = s, .len = strlen(s) };
7 msgbuf_t imsg = MSG_INIT, omsg = MSG_INIT;
8 mpz_t z;
9 mpz_init_set_str(z, s, 10);
10 msg_create_request(&omsg, 0, CONST_STR_NULL, 64, 64);
11 msg_seti32(&omsg, 5);
12 msg_setstr(&omsg, sp.ptr, sp.len);
13 msg_setmpz(&omsg, z);
14 msg_seti32(&omsg, 7);
15 mpz_clear(z);
16 mpz_init(z);
17 sp.ptr = NULL;
18 sp.len = 0;
19 msg_load_request(&imsg, omsg.ptr, omsg.len);
20 msg_geti32(&imsg, &ni);
21 msg_getstr(&imsg, &sp);
22 msg_getmpz(&imsg, z);
23 msg_geti32(&imsg, &ni);
24 char *str = mpz_get_str(NULL, 10, z);
25 printf("%s\n", str);
26 mpz_clear(z);
27 free(str);
28 msg_clear(&omsg);
29 #endif
33 int main () {
34 test_mpz("12345678987654321");
35 return 0;