Diff for /libelwix/example/test_tlv.c between versions 1.3 and 1.3.2.1

version 1.3, 2022/01/24 17:22:03 version 1.3.2.1, 2022/02/01 20:42:24
Line 35  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 46  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 58  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 75  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);

Removed from v.1.3  
changed lines
  Added in v.1.3.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>