version 1.1.2.2, 2022/01/24 17:07:24
|
version 1.4, 2022/02/01 20:46:57
|
Line 13 display(array_t *arr)
|
Line 13 display(array_t *arr)
|
|
|
for (i = 0; i < array_Size(arr); i++) { |
for (i = 0; i < array_Size(arr); i++) { |
if (AIT_TYPE(array(arr, i, ait_val_t*)) == string) |
if (AIT_TYPE(array(arr, i, ait_val_t*)) == string) |
printf("arr[%d]=%s (%d)\n", i, AIT_ADDR(array(arr, i, ait_val_t*)), | printf("arr[%d]=%s (%d) type=%d\n", i, AIT_ADDR(array(arr, i, ait_val_t*)), |
AIT_LEN(array(arr, i, ait_val_t*))); | AIT_LEN(array(arr, i, ait_val_t*)), |
| AIT_TYPE(array(arr, i, ait_val_t*))); |
| else if (AIT_TYPE(array(arr, i, ait_val_t*)) == f32) |
| printf("arr[%d]#%f (%d) type=%d\n", i, AIT_GET_F32(array(arr, i, ait_val_t*)), |
| AIT_LEN(array(arr, i, ait_val_t*)), |
| AIT_TYPE(array(arr, i, ait_val_t*))); |
| else if (AIT_TYPE(array(arr, i, ait_val_t*)) == f64) |
| printf("arr[%d]#%lf (%d) type=%d\n", i, AIT_GET_F64(array(arr, i, ait_val_t*)), |
| AIT_LEN(array(arr, i, ait_val_t*)), |
| AIT_TYPE(array(arr, i, ait_val_t*))); |
else |
else |
printf("arr[%d]#%ld (%d)\n", i, AIT_RAW(array(arr, i, ait_val_t*)), | printf("arr[%d]#%ld (%d) type=%d\n", i, AIT_RAW(array(arr, i, ait_val_t*)), |
AIT_LEN(array(arr, i, ait_val_t*))); | AIT_LEN(array(arr, i, ait_val_t*)), |
| AIT_TYPE(array(arr, i, ait_val_t*))); |
} |
} |
} |
} |
|
|
Line 25 int
|
Line 35 int
|
main(int argc, char **argv) |
main(int argc, char **argv) |
{ |
{ |
array_t *arr; |
array_t *arr; |
u_char buf[BUFSIZ]; | u_char buf[BUFSIZ], buf2[BUFSIZ]; |
int f, len, ret = 0; | int f, f2, len, len2, ret = 0; |
| ait_val_t *v; |
| off_t nt; |
|
|
arr = ait_array2vars((const char**) argv, 42); |
arr = ait_array2vars((const char**) argv, 42); |
if (!arr) |
if (!arr) |
Line 36 main(int argc, char **argv)
|
Line 48 main(int argc, char **argv)
|
|
|
printf("\nNeeded buffer size = %d\n", ait_vars2tlv(NULL, 0, arr)); |
printf("\nNeeded buffer size = %d\n", ait_vars2tlv(NULL, 0, arr)); |
printf("Serialized data to buffer = %d\n", (len = ait_vars2tlv(buf, sizeof buf, arr))); |
printf("Serialized data to buffer = %d\n", (len = ait_vars2tlv(buf, sizeof buf, arr))); |
|
printf("Serialized var to buffer = %d\n", (len2 = ait_var2tlv(buf2, sizeof buf2, array(arr, 0, ait_val_t*)))); |
|
|
f = open("test_tlv.bin", O_CREAT | O_WRONLY, 0644); |
f = open("test_tlv.bin", O_CREAT | O_WRONLY, 0644); |
if (f == -1) { |
if (f == -1) { |
Line 48 main(int argc, char **argv)
|
Line 61 main(int argc, char **argv)
|
} else |
} else |
printf("Wrote %d bytes to file test_tlv.bin\n", len); |
printf("Wrote %d bytes to file test_tlv.bin\n", len); |
|
|
|
f2 = open("test_var_tlv.bin", O_CREAT | O_WRONLY, 0644); |
|
if (f2 == -1) { |
|
ret = 2; |
|
goto err; |
|
} |
|
if ((len2 = write(f2, buf2, len2)) == -1) { |
|
ret = 3; |
|
goto err; |
|
} else |
|
printf("Wrote %d bytes to file test_var_tlv.bin\n", len2); |
|
|
ait_freeVars(&arr); |
ait_freeVars(&arr); |
|
|
arr = ait_tlv2vars(buf, len); |
arr = ait_tlv2vars(buf, len); |
Line 65 main(int argc, char **argv)
|
Line 89 main(int argc, char **argv)
|
} |
} |
printf("\n>>> Built vars array from TLV buffer with zeros at the end\n\n"); |
printf("\n>>> Built vars array from TLV buffer with zeros at the end\n\n"); |
display(arr); |
display(arr); |
|
|
|
v = ait_tlv2var(buf, sizeof buf, &nt); |
|
if (!v) { |
|
ret = 6; |
|
goto err; |
|
} |
|
printf("\nV=%s (%d) type=%d next=%ld\n", AIT_ADDR(v), AIT_LEN(v), AIT_TYPE(v), nt); |
|
ait_freeVar(&v); |
|
|
|
v = ait_tlv2var(buf + nt, sizeof buf - nt, NULL); |
|
if (!v) { |
|
ret = 7; |
|
goto err; |
|
} |
|
printf("\nV=%s (%d) type=%d\n", AIT_ADDR(v), AIT_LEN(v), AIT_TYPE(v)); |
|
ait_freeVar(&v); |
|
|
err: |
err: |
|
if (f2 > 2) |
|
close(f2); |
if (f > 2) |
if (f > 2) |
close(f); |
close(f); |
ait_freeVars(&arr); |
ait_freeVars(&arr); |