run-array.c 857 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <ccan/tal/tal.h>
  2. #include <ccan/tal/tal.c>
  3. #include <ccan/tap/tap.h>
  4. int main(void)
  5. {
  6. char *parent, *c[4];
  7. int i;
  8. plan_tests(11);
  9. parent = tal(NULL, char);
  10. ok1(parent);
  11. /* Zeroing allocations. */
  12. for (i = 0; i < 4; i++) {
  13. c[i] = talz(parent, char);
  14. ok1(*c[i] == '\0');
  15. tal_free(c[i]);
  16. }
  17. /* Array allocation. */
  18. for (i = 0; i < 4; i++) {
  19. c[i] = tal_arr(parent, char, 4);
  20. strcpy(c[i], "abc");
  21. tal_free(c[i]);
  22. }
  23. /* Zeroing array allocation. */
  24. for (i = 0; i < 4; i++) {
  25. c[i] = tal_arrz(parent, char, 4);
  26. ok1(!c[i][0] && !c[i][1] && !c[i][2] && !c[i][3]);
  27. strcpy(c[i], "abc");
  28. tal_free(c[i]);
  29. }
  30. /* Resizing. */
  31. c[0] = tal_arrz(parent, char, 4);
  32. ok1(tal_resize(&c[0], 6));
  33. strcpy(c[0], "hello");
  34. tal_free(c[0]);
  35. ok1(tal_first(parent) == NULL);
  36. tal_free(parent);
  37. tal_cleanup();
  38. return exit_status();
  39. }